須要瞭解 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
複製代碼