视图

视图原理

例如,在博客应用中,可能有以下视图:

  • 博客首页 —— 显示最新发表的博客。
  • 博客“详细”页面 —— 单篇博客的固定链接页面。
  • 基于年份的归档页面 —— 显示某给定年份里所有月份发表过的博客。
  • 基于月份的归档页面 —— 显示在给定月份中发表过博客的所有日期。
  • 基于日期的归档页面 —— 显示在给定日期中发表过的所有博客名称。
  • 评论 —— handles comment for a entry

在我们的投票应用中,将有以下四个视图:

  • Question首页 —— 显示最新发布的几个Question。
  • Question“详细”页面 —— 显示单个Question的具体内容,不显示该议题的当前投票结果,而是提供一个投票的表单。
  • Question“结果”页面 —— 显示特定的Question的投票结果。
  • 投票功能 —— 处理对Question中Choice的投票。

Django通过检查请求的URL(准确地说,是URL里域名之后的那部分)来选择使用哪个视图。

编写你的第一个视图

编写第一个视图

配置调用该视图(两层设置,一层主,一层自定义应用级别)

# polls/urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
]
# mysite/urls.py

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', include(admin.site.urls)),
]

url()参数讲解

url()参数:regex(regular expression(正则表达式))

Django从第一个正则表达式开始,依次将请求的URL与每个正则表达式进行匹配,直到找到匹配的那个为止。

  请注意,这些正则表达式不会检索URL中GET和POST的参数以及域名。

url()参数:view

如果使用命名的捕获方式,值将作为关键字参数传递。

url()参数:kwargs

  任何关键字参数都可以以字典形式传递给目标视图。

url()参数:name

这个强大的特性可以使你仅仅修改一个文件就可以改变全局的URL模式。

编写更多的视图

 

编写拥有实际功能的视图

 

该如何去做这两件事,就看你自己的想法了。

 

你还可以动态地生成一个PDF文件、输出XML文件、创建一个ZIP文件或者使用你想用的Python 库生成任何想要的形式。

 

或者抛出一个异常。

 

相关文章:

  • 2018-06-04
  • 2018-06-05
  • 2018-06-05
  • 2022-01-13
  • 2022-12-23
  • 2022-02-27
  • 2022-12-23
  • 2021-06-22
猜你喜欢
  • 2021-11-29
  • 2021-10-09
  • 2022-02-07
  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案