须要了解 Python 的基础html
官方github: github.com/django/djan…python
Django是一个开放源代码的Web应用框架,由Python写成。git
Django遵照BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。github
Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。正则表达式
一、Python 下载地址:www.python.org/downloads/django
二、Django 下载地址:www.djangoproject.com/download/windows
详细环境配置请 Google设计模式
安装 python,会自动安装 pip浏览器
brew install -v python\@2
复制代码
安装 Djangobash
sudo pip install Django
复制代码
查看安装版本号
django-admin.py --version
复制代码
[注意] 这里的 django 的版本是1.6.11
建立
django-admin.py startproject HelloWorld
复制代码
运行
cd HelloWorld
python manage.py runserver
复制代码
目录介绍
HelloWorld // 根目录
├─manage.py //一个实用的命令行工具,可以让你以各类方式与该 Django 项目进行交互。
├─HelloWorld //项目的容器。
| ├─__init__.py //一个空文件,告诉 Python 该目录是一个 Python 包。
| ├─settings.py //该 Django 项目的设置/配置
| ├─urls.py //该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
| ├─wsgi.py //一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
复制代码
在先前建立的 HelloWorld 目录下的 HelloWorld 目录新建一个 views.py 文件,并输入代码:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
复制代码
编辑 urls.py
from django.conf.urls import patterns, include, url
from . import views
# from django.contib import admin
# admin.autodiscover()
urlpatterns = patterns(
'',
# Examples:
# url(r'^$', 'HelloWorld.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
# url(r'^admin/', include(admin.site.urls)),
url('hello/?$', views.hello),
)
复制代码
Django path() 能够接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
语法格式:
path(route, view, kwargs=None, name=None)
复制代码
语法格式:
from django.conf.urls import url
urlpatterns = [
url(正则表达式, views视图,参数,别名),
]
复制代码
正则表达式:一个正则表达式字符串
views视图: 一个可调用对象,一般为一个视图函数
参数 : 可选的要传给视图函数的默认参数(字典形式)
别名: 一个可选的name参数
在 HelloWorld 根目录底下建立 templates 目录并创建 hello.html 文件
编辑hello.html, 变量使用双括号
<h1>{{ hello }}</h1>
复制代码
接下来咱们须要向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [BASE_DIR+"/templates",],以下所示:
TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]
复制代码
目录结构以下
HelloWorld
├─manage.py
├─templates
| └hello.html
├─HelloWorld
| ├─__init__.py
| ├─__init__.pyc
| ├─settings.py
| ├─settings.pyc
| ├─urls.py
| ├─urls.pyc
| ├─views.py
| ├─views.pyc
| ├─wsgi.py
| └wsgi.pyc
复制代码
{% if condition1 %}
... display 1
{% elif condition2 %}
... display 2
{% else %}
... display 3
{% endif %}
复制代码
{% if %} 标签接受 and , or 或者 not 关键字来对多个变量作判断 ,或者对变量取反( not ),例如:
{% if athlete_list and coach_list %}
athletes 和 coaches 变量都是可用的。
{% endif %}
复制代码
{% for %} 容许咱们在一个序列上迭代。
{% for athlete in athlete_list %}
<h1>{{ athlete.name }}</h1>
<ul>
{% for sport in athlete.sports_played %}
<li>{{ sport }}</li>
{% endfor %}
</ul>
{% endfor %}
复制代码
{% ifequal %} 标签比较两个值,当他们相等时,显示在 {% ifequal %} 和 {% endifequal %} 之中全部的值。
{% ifequal section 'sitenews' %}
<h1>Site News</h1>
{% else %}
<h1>No News Here</h1>
{% endifequal %}
复制代码
{# 这是一个注释 #}
复制代码
模板过滤器能够在变量被显示前修改它,过滤器使用管道字符,以下所示:
{{ name|lower }}
复制代码
{% include %} 标签容许在模板中包含其它的模板的内容。
{% include "nav.html" %}
复制代码
模板能够用继承的方式来实现复用。
<!DOCTYPE html>
<html>
<head>
<title>ddddddd</title>
</head>
<body>
<h1>Hello World!</h1>
<p>Django 测试。</p>
{% block mainbody %}
<p>original</p>
{% endblock %}
</body>
</html>
复制代码
咱们能够在 hello.html 进行继承
{%extends "base.html" %}
<h1>{{ hello }}</h1>
{% block mainbody %}
<h6>继承了 base.html 文件</h6>
{% endblock %}
复制代码
HelloWorld
├─manage.py
├─templates
| ├─base.html
| └hello.html
├─HelloWorld
| ├─__init__.py
| ├─__init__.pyc
| ├─settings.py
| ├─settings.pyc
| ├─urls.py
| ├─urls.pyc
| ├─views.py
| ├─views.pyc
| ├─wsgi.py
| └wsgi.pyc
复制代码