python web开发——Django视图

来源:互联网 发布:剑三琴爹成男捏脸数据 编辑:程序博客网 时间:2024/06/08 16:58

视图简介

Django遵循MVC设计模式,视图可以对请求做出响应。每个视图由一个函数表示。

Django通过URL来选择调用那个视图。

第一个视图

创建视图函数

打开polls/views.py文件并将以下Python代码写入:

# -*- coding: utf-8 -*-from __future__ import unicode_literalsfrom django.shortcuts import renderfrom django.http import HttpResponse# Create your views here.def index(request):    return HttpResponse('MTbaby的博客')

配置url

在polls目录中创建一个名为urls.py的文件。输入如下代码:

from django.conf.urls import urlfrom django.contrib import adminfrom . import views# urlpatterns = [#     url(r'^admin/', admin.site.urls),# ]urlpatterns = [    url(r'^$', views.index,name='index'),]

添加到项目urls

打开myblog目录下面的urls.py,修改如下:

from django.conf.urls import urlfrom django.contrib import admin#from . import viewsurlpatterns = [    url(r'^admin/', include(admin.site.urls)),    url(r'^polls/',include('polls.urls')),]

这里使用正则表达式,如果你还不太熟悉正则表达式,可以看看我们的Python基础课程正则表达式的内容:

访问

启动项目python manage.py runserver
打开浏览器输入:http://127.0.0.1:8000/polls/ 结果如下:

MTbaby的博客

编写更多的视图

现在让我们给polls/views.py添加一些更多的视图。这些视图和之前的略有不同,因为它们另带了一个参数:

# -*- coding: utf-8 -*-from __future__ import unicode_literalsfrom django.shortcuts import renderfrom django.http import HttpResponse# Create your views here.def index(request):    return HttpResponse('MTbaby的博客')def detail(request,question_id):    return HttpResponse('你正在浏览的页数:%s'%question_id)def result(request,question_id):    response = "你正在浏览页数%s的结果"    return HttpResponse(response % question_id)def vote(request,question_id):    return HttpResponse("你正在为%s投票" % question_id)

通过下面的url() 调用将这些新的视图和polls.urls模块关联起来:

from django.conf.urls import urlfrom django.contrib import adminfrom . import views# urlpatterns = [#     url(r'^admin/', admin.site.urls),# ]urlpatterns = [    #ex: /polls/    url(r'^$', views.index,name='index'),    #ex:/polls/5/    url(r'^(?p<question_id>[0-9]+)/$',views.detail,name='detail'),    #ex: /polls/5/results/    url(r'^(?p<question_id>[0-9]+)/results/$',views.results,name='results'),    #ex: /polls/5/vote/    url(r'^(?p<question_id>[0-9]+)/vote/$',views.vote,name='vote'),]

访问视图:

http://127.0.0.1:8000/polls/ :MTbaby的博客

http://127.0.0.1:8000/polls/1/ : 你正在浏览的页数: 1.

http://127.0.0.1:8000/polls/1/results/ : 正在浏览页数1的结果

http://127.0.0.1:8000/polls/1/vote/ : 你正在为1投票

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 得了痛风怎么办 啤酒海鲜过敏怎么办 卤水糖放多了怎么办 藕颜色发黑怎么办 怎么办土豆丝好吃 海带丝干怎么办 麻酱结块怎么办 太阳花来年怎么办 铁锅开锅没开好 怎么办 汽车钢圈漏气怎么办 头皮油怎么办 没有高筋粉怎么办 木门门边坏了怎么办 汽车修理资格证怎么办 做兼职拖欠工资怎么办 高中生怎么办医保 卖不完的凉菜怎么办 吃葡萄干上火怎么办 豆腐皮干了怎么办 干豆腐冻完硬怎么办 糖醋豆腐皮怎么办 黑白木耳怎么办 嘴巴干燥开裂怎么办 过敏起包很痒怎么办 嘴巴老是干起皮怎么办 凉皮凉菜怎么办 芝麻酱不香是怎么办 凉拌拉皮儿怎么办 做双皮奶剩蛋黄怎么办 电饭锅饭煮硬了怎么办 米饭软了怎么办 饭太稀了怎么办 饭煮太稀了怎么办 糯米饭煮太烂了怎么办 糯米饭水放多了怎么办 金毛狗拉稀呕吐怎么办 金毛刚满月拉稀怎么办 凉粉不凝固怎么办 米饭煮太稀了怎么办 饭煮太软了怎么办 饭煮成粥了怎么办