创建好项目后在项目文件下的urls.py为设置路由

Django 有两种路由方式一种的精确路由 另一个为模糊路由

"""mysite URL Configuration

The `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("",d1.re_url),
#使用多个网址来指向同一个路由方法
path("",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模块 重定向依赖于 HttpResponseRedirect
from 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))

Django 路由的更多相关文章

  1. Django路由系统

    django路由系统 简而言之,django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里的关系条目,去查找到与请求对应的处理方法,从 ...

  2. Django 路由系统

    Django 路由系统 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说 ...

  3. Python菜鸟之路:Django 路由、模板、Model(ORM)

    Django路由系统 Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求.有点类似nginx的location功能. Django的路由关系分为三种:普通关 ...

  4. Django路由控制总览

    今日内容:(路由层) 1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$') -第二个参数是视图函数(不要加括号) -url(r'^admin/', admin.site. ...

  5. Python学习---Django路由系统【all】

    Django URL (路由系统) Django URL (路由系统): URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映 ...

  6. Python菜鸟之路:Django 路由补充1:FBV和CBV - 补充2:url默认参数

    一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...

  7. 【python】-- Django路由系统(网址关系映射)、视图、模板

    Django路由系统(网址关系映射).视图.模板 一.路由系统(网址关系映射) 1.单一路由对应: 一个url对应一个视图函数(类) urls.py: url(r'^test', views.test ...

  8. stark组件前戏(3)之django路由分发的本质include

    django路由分发的三种方式 方式一: from django.urls import re_path, include urlpatterns = [ re_path(r'^web/', incl ...

  9. django路由匹配层

    目录 orm表关系如何建立 一对多 多对多 一对一 django请求生命周期流程图 路由层 路由的简单配置 Django路由匹配规律 分组 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态 虚 ...

  10. Django 路由name使用

    Django 路由name使用 name:对URL路由关系进行命名 ***以后可以根据此名称生成自己想要的URL*** # 路由 url 三种形式 url(r'^index/', views.inde ...

随机推荐

  1. Java变量类型识别的3种方式

    内容导览 反射方式,成员变量的类型判断 isInstance用法 利用泛型识别类型 测试类: package com.cxyapi.oo; import java.util.Date; import ...

  2. Gevent 性能和 gevent.loop 的运用和带来的思考

    知乎自己在底层造了非常多的轮子,而且也在服务器部署方面和数据获取方面广泛使用 gevent 来提高并发获取数据的能力.现在开始我将结合实际使用与测试慢慢完善自己对 gevent 更全面的使用和扫盲. ...

  3. python try except else finally

    python  try except else finally 实例 class AError(Exception): """AError---exception&quo ...

  4. 关于PHP函数传参的注意点

    PHP的实参在传递过程中是顺序传递的,不支持指定参数名传递.怎么理解呢?看下面的代码: function test($name,$age){ echo '姓名:'.$name,' 年纪:'.$age; ...

  5. jquery获取select选择的文本与值

    jquery获取select选择的文本与值获取select :获取select 选中的 text :    $("#ddlregtype").find("option:s ...

  6. 第213天:12个HTML和CSS必须知道的重点难点问题

    12个HTML和CSS必须知道的重点难点问题 这12个问题,基本上就是HTML和CSS基础中的重点个难点了,也是必须要弄清楚的基本问题,其中定位的绝对定位和相对定位到底相对什么定位?这个还是容易被忽视 ...

  7. 22Java之JDBCTemplate总结

    写在前面:这里总结4种方式来操作数据库(SE阶段) 一.JDBC         JDBC有关的类:都在java.sql 和 javax.sql 包下.   1.数据准备               ...

  8. MyBatis实操进阶版(一)

    MyBatis实操进阶版(一) 目前而言,持久层框架中,在业务实现灵活性上,无可出MyBatis之右者.具体原因,后续将逐步展开 ResultMap元素的设置 配置文件中,ResultMap元素的作用 ...

  9. HTML协议

    一,HTML协议 简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的 ...

  10. 前端 -- HTML内容

    HTML介绍 Wed服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5 ...