04 - 创建一个视图

04 - 视图


作者: 张启卫
时间: 2017年4月13号
功能:

  • 使用Django创建一个视图

创建视图:

polls/views.py

from django.shortcuts import render
from django.http import HttpResponse

Create your views here.

def index(request):
return HttpResponse(“Hello,World. You’are at the polls index.”)

def detail(request, question_id):
return HttpResponse(“You’re looking at question %s.” % question_id)

def result(request, question_id):
response = “You’re looking at the results of question %s.”
return HttpResponse(response % question_id)

def vote(request, question_id):
return HttpResponse(“You’re voting on question %s.” % question_id)

第二步:增加url

http://127.0.0.1:8000/polls/2/vote/

django根据URL查询步骤:
1. 从mysite/settings.py中的ROOT_URLCONF中查找
2. 根据指示到url中urlpattern中查找
3. 在url中匹配应用程序到相应的应用程序中url中路径中查找

第二步:MVC分离

创建一个templates 在 polls目录中
在templates目录中创建polls目录
在polls目录中创建一个index.html文件

polls/templates/polls/index.html

{% if latest_question_list %}


{% else %}

No polls are available.

第三步:URL命名空间

polls/url.py

from django.conf.urls import url

from . import views

app_name = ‘polls’
urlpatterns = [
url(r’^\(’, views.index, name=‘index’), url(r’^(?P<question_id>[0-9]+)/\)’, views.detail, name=‘detail’),
url(r’^(?P<question_id>[0-9]+)/results/\(’, views.results, name=‘results’), url(r’^(?P<question_id>[0-9]+)/vote/\)’, views.vote, name=‘vote’),
]

polls/templates/polls/index.html

  • {{ question.question_text }}
  • posted @ 2017-04-13 23:00  elewei  阅读(137)  评论(0)    收藏  举报