Django 学习笔记(一)
1. urls 和View 的理解:
1.1 每个Project 都有自己的urls.py, 这是项目的根路由,请求会被发送到这个路由中,由它来决定下一步请求需要被发送到哪个应用里。
1.2 每个应用都可以设置自己的urls.py, 这是应用层级的路由,在这里,每个子路由的路径对应一个视图函数,可以理解成功能模块,即请求被最终发送到哪个函数去处理。
1.3 View,即视图,是django的控制模块。
项目跟路由urls.py里的简单示例如下:
from django.urls import path, include from app import urls as app_urls urlpatterns = [ path('admin/', admin.site.urls), path('', include(app_urls)) ]
from django.urls import path, include 表示从django.urls里引入 path 函数和 include 函数。
from app import urls as app_urls 表示从应用app里引入该应用的路由,并命名为app_urls, 注意这里的app是项目的一个应用的名字,由用户自己创建自己命名,并非任何保留字符。
urlpatterns=[] 即路由表,由path()函数来添加,path('admin/', admin.site.urls)表示发送到admin/的请求会被 admin.site.urls这个视图函数来处理,而path('', include(app_urls))表示发送到跟目录的请求会被app_urls 路由处理,即应用app的路由来处理。
path(路径,视图函数),如果在‘视图函数’ 这里放的是include(), 则表示发送到该路径的请求会被include 里的子路由处理,而不再是直接由视图函数处理。
View, 视图, 基本写法如下:
from django.http import HttpResponse def index(request): return HttpResponse('hello django2!')