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

来源:互联网 发布:程序员的自我修养pdf 编辑:程序博客网 时间:2024/06/03 12:25

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 urlfrom django.contrib import adminfrom demo import views as demo_viewsurlpatterns = [    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 urlfrom django.contrib import adminfrom demo import views as demo_viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^$', demo_views.index, name='index'),    url(r'^add/', demo_views.add, name='add'),]

结果如下:




0 0
原创粉丝点击