您的位置:首页 > 编程语言 > Go语言

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

2017-03-03 10:44 633 查看
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'),
]


结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: