【Django1】基本知识,URL映射,视图渲染,模板应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tiandawangliang/article/details/60114637

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'),
]

结果如下:




猜你喜欢

转载自blog.csdn.net/tiandawangliang/article/details/60114637