Django 路由
创建好项目后在项目文件下的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 路由的更多相关文章
- Django路由系统
django路由系统 简而言之,django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里的关系条目,去查找到与请求对应的处理方法,从 ...
- Django 路由系统
Django 路由系统 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说 ...
- Python菜鸟之路:Django 路由、模板、Model(ORM)
Django路由系统 Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求.有点类似nginx的location功能. Django的路由关系分为三种:普通关 ...
- Django路由控制总览
今日内容:(路由层) 1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$') -第二个参数是视图函数(不要加括号) -url(r'^admin/', admin.site. ...
- Python学习---Django路由系统【all】
Django URL (路由系统) Django URL (路由系统): URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映 ...
- Python菜鸟之路:Django 路由补充1:FBV和CBV - 补充2:url默认参数
一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...
- 【python】-- Django路由系统(网址关系映射)、视图、模板
Django路由系统(网址关系映射).视图.模板 一.路由系统(网址关系映射) 1.单一路由对应: 一个url对应一个视图函数(类) urls.py: url(r'^test', views.test ...
- stark组件前戏(3)之django路由分发的本质include
django路由分发的三种方式 方式一: from django.urls import re_path, include urlpatterns = [ re_path(r'^web/', incl ...
- django路由匹配层
目录 orm表关系如何建立 一对多 多对多 一对一 django请求生命周期流程图 路由层 路由的简单配置 Django路由匹配规律 分组 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态 虚 ...
- Django 路由name使用
Django 路由name使用 name:对URL路由关系进行命名 ***以后可以根据此名称生成自己想要的URL*** # 路由 url 三种形式 url(r'^index/', views.inde ...
随机推荐
- Java变量类型识别的3种方式
内容导览 反射方式,成员变量的类型判断 isInstance用法 利用泛型识别类型 测试类: package com.cxyapi.oo; import java.util.Date; import ...
- Gevent 性能和 gevent.loop 的运用和带来的思考
知乎自己在底层造了非常多的轮子,而且也在服务器部署方面和数据获取方面广泛使用 gevent 来提高并发获取数据的能力.现在开始我将结合实际使用与测试慢慢完善自己对 gevent 更全面的使用和扫盲. ...
- python try except else finally
python try except else finally 实例 class AError(Exception): """AError---exception&quo ...
- 关于PHP函数传参的注意点
PHP的实参在传递过程中是顺序传递的,不支持指定参数名传递.怎么理解呢?看下面的代码: function test($name,$age){ echo '姓名:'.$name,' 年纪:'.$age; ...
- jquery获取select选择的文本与值
jquery获取select选择的文本与值获取select :获取select 选中的 text : $("#ddlregtype").find("option:s ...
- 第213天:12个HTML和CSS必须知道的重点难点问题
12个HTML和CSS必须知道的重点难点问题 这12个问题,基本上就是HTML和CSS基础中的重点个难点了,也是必须要弄清楚的基本问题,其中定位的绝对定位和相对定位到底相对什么定位?这个还是容易被忽视 ...
- 22Java之JDBCTemplate总结
写在前面:这里总结4种方式来操作数据库(SE阶段) 一.JDBC JDBC有关的类:都在java.sql 和 javax.sql 包下. 1.数据准备 ...
- MyBatis实操进阶版(一)
MyBatis实操进阶版(一) 目前而言,持久层框架中,在业务实现灵活性上,无可出MyBatis之右者.具体原因,后续将逐步展开 ResultMap元素的设置 配置文件中,ResultMap元素的作用 ...
- HTML协议
一,HTML协议 简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的 ...
- 前端 -- HTML内容
HTML介绍 Wed服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5 ...