1. 程式人生 > >【Django1】基本知識,URL對映,檢視渲染,模板應用

【Django1】基本知識,URL對映,檢視渲染,模板應用

python版本3.5,django版本1.10

1 新建專案

    django-admin.py startproject website2

2 啟動伺服器,檢視是否正常

    manage.py runserver

3 進入工程website2一級資料夾下新建app

    python manage.py startapp demo

4 將新建立的app加入工程中

    修改 website2/website2/settings.py的INSTALL_APPS,將app名稱加入該元組中。

5 編寫app檢視檔案

    在/demo/views.py檔案中增加函式index,render為渲染函式

from django.shortcuts import render

# Create your views here.
def index(request):
	pageTitle = '首頁'
	return render(request, 'demo/index.html', {'strTemp':pageTitle})
    render第三個引數是views.py向html傳遞的內容,預設是字典格式,{'strTemp':pageTitle}中strTemp是html中變數名,pageTitle則是該變數的值。

    傳遞list時,只需令pageTitle = [‘as’, ‘df’, ‘gh’,‘jk’]

    然後在html中讀取即可

    {% for i in strTemp%}
    {{ i }}
    {% endfor %}

    詳細見http://www.ziqiangxuetang.com/django/django-template2.html

6 編寫html檔案

<!DOCTYPE html>
<html>
<head>
    <title>{{strTemp}}</title>
</head>
<body>
{{strTemp}}
</body>
</html>

    用 {{ 變數}}直接得到變數的值,用 {%  %}編寫迴圈/判斷等語句

    檔案目錄如下

website2
├── demo
│   ├── __pycache__
│   ├── migrations
│   ├── templates
│   │   └── demo
│   │       ├── index.html
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── manage.py
├── db.sqlite3
└── website2
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py


7 URL對映,將網址對應到views.py檔案

    修改/website2/website2/urls檔案

from django.conf.urls import url
from django.contrib import admin
from demo import views as demo_views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', demo_views.index, name='index'),
]


8  執行伺服器



下面在上文的基礎上,做一個網頁加法器

============================================================================================

============================================================================================

修改index.html

<!DOCTYPE html>
<html>
<head>
	<title>網頁加法器</title>
</head>
<body> 
<form action="/add/" method="get">
    a: <input type="text" name="num1"> <br>
    b: <input type="text" name="num2"> <br>
    <input type="submit" value="提交">
</form>
結果:{{sum}}
</body>
</html>

修改檢視檔案views.py

from django.shortcuts import render

# Create your views here.
def index(request):
	return render(request, 'demo/index.html')

def add(request):
	num1 = request.GET['num1']
	num2 = request.GET['num2']
	sum = int(num1)+int(num2)
	return render(request, 'demo/index.html', {'sum':sum})

增加URL對映

from django.conf.urls import url
from django.contrib import admin
from demo import views as demo_views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', demo_views.index, name='index'),
    url(r'^add/', demo_views.add, name='add'),
]

結果如下: