Django 2.0 学习(03):Django视图和URL(下)

上篇博文,继续分析Django基本流程。

编写第一个(view)视图函数

1、打开文件polls/views.py,输入下面的Python代码:

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello World! You're at the polls index.")

2、上面是一个最简单的Django视图函数,为了调用这个视图函数,我们需要为它做一个URL映射;在目录polls下面创建文件urls.py,并在polls/urls.py文件中输入下面代码:

from django.urls import path
from . import views


urlpatterns = [
    path('', views.index, name='index'),
]

3、接下来,需要将poll.urls指向根URLconf模块,在项目的mysite/urls.py文件添加django.urls.include,并且在urlpatterns列表中添加一个include(),如下所示代码:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls')),
]

4、现在我们可以来确认上面的操作是否正确工作,在mysite项目目录下运行下面命令:

python manage.py runserver

5、在浏览器中打开 URL,我们将会看到"Hello World! You're at the polls index.",这个就是我们在index视图函数中定义的内容;

我们可以看到在浏览器中访问的结果也是正确的:

补充讲解

在这里,我们补充讲解一个函数:path,详细信息可以参考

path函数传递四个参数,两个必须参数:route和view;两个可选参数:name和kwargs
  • path() 参数:route
    route是一个包含URL pattern的字符串,当处理一个request请求的时候,Django从urlpatterns 列表中的第一个开始匹配,直到匹配到一个相符的URL;patterns不会搜索request请求的方法(GET、POST)或者domain name,例如下面的request请求https://www.example.com/myapp/,URLconf查找的是myapp/;在request请求https://www.example.com/myapp/?page=3,中URLconf依然查找的是myapp;
  • path()参数:view
    当Django匹配到一个URL pattern,就会调用它对应的视图函数,该视图函数的第一各参数必须是request;
  • path()参数:name和kwargs
    目前不做讲解,在后面部分的使用过程中逐步讲解;
posted @ 2018-03-16 14:34  月缺一格  阅读(282)  评论(0编辑  收藏  举报