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'),
]
结果如下: