Django---路由如何配置
具体配置在项目配置文件夹下的 urls.py:
from index import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', views.index),
]
index的意思就是:访问 index 路由到 index 应用下的 index 方法:

上面给出的是更像是 面向函数式编程,还可以路由到类:

同样是在 index应用下的view中,新建类:

这里的访问:访问change则会路由到 viws下面的 Index类。
这里可以对 get 和 post 分开处理。
上面就是两种:面向函数式编程,和面向对象式编程。两者可以结合起来用。
正则路由:
简答示例:
urlpatterns = [
url(r'admin/', admin.site.urls),
url(r'index/', views.index),
url(r'list/', views.list),
url(r'lists/', views.lists),
url(r'change/',views.Index.as_view()),# 路由到类
url(r'details-(\d+).html',views.details) # 正则路由
]
控制器:
def lists(request):
USER_INFO = { '':'root1','':'root2','':'root3','':'root4'}
return render(request,'lists.html',{'user_info':USER_INFO}) def details(request,nid):
if request.method == "GET":
print(nid)
return HttpResponse('')
模板:
<!-- 拿到 key 和 value -->
{% for k,v in user_info.items %}
<p><a href="/details-{{ k }}.html">{{ k }}----{{ v }}</a></p>
{% endfor %}
这样路由,形参的nid必须是第一个,如果传递多个参数:正则分组:
urlpatterns = [
url(r'admin/', admin.site.urls),
url(r'index/', views.index),
url(r'list/', views.list),
url(r'lists/', views.lists),
url(r'change/',views.Index.as_view()),# 路由到类
#url(r'details-(\d+).html',views.details),
url(r'details-(?P<nid>\d+)-(?P<uid>\d+).html',views.details),
]
模板:
<!-- 拿到 key 和 value -->
{% for k,v in user_info.items %}
<p><a href="/details-{{ k }}-55.html">{{ k }}----{{ v }}</a></p>
{% endfor %}
这样:无论形参数的顺序变化,都可以接受
def details(request,uid,nid):
if request.method == "GET":
print(nid)
print(uid)
return HttpResponse('')
还有一种接受方式:
def func(request,*args,**kwargs):
pass
Django---路由如何配置的更多相关文章
- Django之路由控制配置
路由控制配置 简单的路由配置 Django即支持1.x版本的路由配置也支持2.x的路由配置 1.x版本的路由配置是使用re进行路由配置(re_path) 2.x版本的路由配置使用(path)进行路由配 ...
- Django入门--url路由基本配置
URL(Uniform Resoure Locater)统一资源定位符,是对可以从互联网上得到资源位置和访问方法的一种简洁形式,是互联网上标准资源的地址.互联网上的每个文件都有一个唯一的URL,它包含 ...
- Django路由配置
Django路由配置系统.视图函数 1.路由配置系统(URLconf) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是 ...
- Django路由系统-URLconf配置、正则表达式简述
Django路由系统 1.11版本官方文档 URL配置就像是Django项目的目录,它的本质是URL与URL调用的函数之间的映射表,Django会根据URL配置,在遇到一个URL时,就去执行相应的 ...
- Django模板及路由的配置
学习内容: (1)路由的配置 (2)模板的介绍 (3)模板显示数据 一.路由的配置 以上一篇文章的名字Booketest项目,有一个子模块demo1进行讲解. 1.首先在Booktest项目下的同名子 ...
- Django - 路由层(URLconf)
一.django 静态文件配置 /mysite1/settings.py STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_ ...
- 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模式调用的视图函数之间的映 ...
- Web框架之Django_02基本操作(Django项目启动配置、数据库连接、orm、增删改查)
摘要: Django项目简单现实过程 pycharm连接数据库 Django之orm简单操作增删改查 一.新建Django项目.配置.设置: 新建Django项目:(为了熟悉Django操作,暂时全部 ...
随机推荐
- YAML简介
YAML Ain’t Markup Language YAML 是一种简洁的非标记语言 YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读 基本规则: 1.大小写敏感 2. ...
- mysql压缩版的安装教程
1. 首先创建 my.ini,在mysql解压目录下的bin文件夹中新建一个名为 my.ini 的文件,内容为 [client] port=3306 default-character-set ...
- 【Mongodb】用户和认证 权限总结
开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库! 在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时admin ...
- Hibernate_day01讲义_使用Hibernate完成对CRM系统中客户管理的DAO中的CRUD的操作
- MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes
今天在用Navicat导入SQL文件时报错:MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes ...
- Linux应急响应入侵排查思路
0x00 前言 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...
- Bypass ngx_lua_waf SQL注入防御(多姿势)
0x00 前言 ngx_lua_waf是一款基于ngx_lua的web应用防火墙,使用简单,高性能.轻量级.默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则: select.+ ...
- 【RF库XML测试】通过xpath查找元素的说明
Tag names:当仅使用1个tag的时候,xpath匹配具有该标签名称的所有直接子元素. Paths:通过/符号连接tag名称,例如second/child将匹配父元素second下所有的chil ...
- DrawCall 优化 .
unity3D 对于移动平台的支持无可厚非,但是也有时候用Unity3D 开发出来的应用.游戏在移动终端上的运行有着明显的效率问题,比如卡.画质等各种问题.自己在做游戏开发的时候偶有所得.对于主要影响 ...
- flask获取传入参数的两种方式
#coding=utf-8 from flask import Flask from flask import request app = Flask(__name__) @app.route(&qu ...