创建好项目后在项目文件下的urls.py为设置路由
Django 有两种路由方式一种的精确路由 另一个为模糊路由
"""mysite URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.0/topics/http/urls/Examples:Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home')Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))"""from django.contrib import admin#正则路由依赖于re_path模块from django.urls import path,re_path#导入整个自定义模块 使用逗号来分割调用 文件是要直接创建并定义方法后进行导入进行匹配from . import d1,d2 #设置路由urlpatterns = [ path('admin/', admin.site.urls), #定义首页,首页留空,第二个参数 指定路由方法 path('',d2.index), #在定义一个路由 path('test/',d1.test), #定义一个重定向页面 path("123",d1.re_url), #使用多个网址来指向同一个路由方法 path("456",d1.re_url), #定义存储cookie的路由 path("save_cookie",d1.save_cookie), #定义获取cookie的路由 path("get_cookie",d1.get_cookie), #定义删除cookie的路由 path("del_cookie",d1.del_cookie), #定义一个正则路由,可以使用\d数字 #常用元字符.匹配所以\d数字\D非数字\w字母数字_ #如果在正则路由内,使用()分组,那么django会认为进行路由传参 # re_path(r'^test-\d+-.*$',d1.test_re) re_path(r'^test-(\d+)-(.*)/$',d1.test_re), ]
py文件
#导入django模块 重定向依赖于 HttpResponseRedirectfrom django.http import HttpResponse,HttpResponseRedirect#导入时间模块from datetime import datetime#导入django# 内置的时间转换模块from django.utils.timezone import make_aware# 定义视图方法def index(request): #返回一个字符串 return HttpResponse("Hello World")# 定义视图方法def test(request): #返回一个字符串 #接收通过get方式传过来的参数,第二个参数来判断,如果没有该值,赋一个值 id = request.GET.get('id','未接到参数') #通过post属性来接收post过来的参数 id = request.POST.get("id",'未接到参数') ip = request.POST.get("ip",'未接到参数') print(id) return HttpResponse("id=" + str(id) +"ip=" + str(ip))# 定义跳转页面def re_url(request): #进行重定向操作 return HttpResponseRedirect("/test-123-456/")# 定义视图方法def test_re(request,p1,p2): #返回一个字符串 return HttpResponse("这里是正则路由" + str(p1)+str(p2))