Python Django,视图,路由配置,视图函数
项目名/urls.py(项目的路由配置):
from django.conf.urls import include, url
from django.contrib import admin
# 配置项目的url路由
urlpatterns = [
url(r'^admin/', include(admin.site.urls)), # include包含外部模块资源。(不建议在项目中直接匹配视图函数)
url(r'^', include('应用名.urls')), # 包含指定应用中的urls文件(需要手动创建)。 在指定应用中的urls.py中继续匹配时,会先去掉此处匹配成功的字符串内容。
]
# 当上面的url匹配成功后,就不会继续向下匹配了。
应用名/urls.py(应用中的路由配置。需要手动创建该文件):
from django.conf.urls import url
from 应用名 import views # 导入应用中的视图模块(视图函数都定义在该模块中)
# url路由配置
# 先在项目中匹配url,匹配成功后去掉匹配成功的字符串内容 然后再在应用中继续匹配。
urlpatterns = [
url(r'^index$', views.index), # 通过url函数配置url路由 (views模块中的index函数)
url(r'^index2$', views.index2), # 必须匹配开头和结尾,否则会匹配到上面的路由
url(r'^books$', views.show_books), # 显示图书信息
url(r'^books/(\d+)$', views.detail), # 显示英雄信息
]
# 当上面的url匹配成功后,就不会继续向下匹配了。
# 因此在应用中匹配时,必须严格匹配开头和结尾。
应用名/views.py(视图模块,定义视图函数):
from django.shortcuts import render
from django.http import HttpResponse
# 定义视图函数 (必须传递HttpRequest参数)
# 在项目的urls.py以及应用的urls.py中配置路由 http://127.0.0.1:8000/index
def index(request):
# 处理请求、响应,和M、T进行交互。
return HttpResponse('hello python') # 必须返回响应