具体配置在项目配置文件夹下的 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---路由如何配置的更多相关文章

  1. Django之路由控制配置

    路由控制配置 简单的路由配置 Django即支持1.x版本的路由配置也支持2.x的路由配置 1.x版本的路由配置是使用re进行路由配置(re_path) 2.x版本的路由配置使用(path)进行路由配 ...

  2. Django入门--url路由基本配置

    URL(Uniform Resoure Locater)统一资源定位符,是对可以从互联网上得到资源位置和访问方法的一种简洁形式,是互联网上标准资源的地址.互联网上的每个文件都有一个唯一的URL,它包含 ...

  3. Django路由配置

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

  4. Django路由系统-URLconf配置、正则表达式简述

    Django路由系统 1.11版本官方文档 ​ URL配置就像是Django项目的目录,它的本质是URL与URL调用的函数之间的映射表,Django会根据URL配置,在遇到一个URL时,就去执行相应的 ...

  5. Django模板及路由的配置

    学习内容: (1)路由的配置 (2)模板的介绍 (3)模板显示数据 一.路由的配置 以上一篇文章的名字Booketest项目,有一个子模块demo1进行讲解. 1.首先在Booktest项目下的同名子 ...

  6. Django - 路由层(URLconf)

    一.django 静态文件配置 /mysite1/settings.py STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_ ...

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

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

  8. Django路由控制总览

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

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

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

  10. Web框架之Django_02基本操作(Django项目启动配置、数据库连接、orm、增删改查)

    摘要: Django项目简单现实过程 pycharm连接数据库 Django之orm简单操作增删改查 一.新建Django项目.配置.设置: 新建Django项目:(为了熟悉Django操作,暂时全部 ...

随机推荐

  1. 怎么用ABBYY重组PDF文档

    ABBYY PDF Transformer+是一款可创建.编辑以及将PDF文件转换为其他可编辑格式的通用工具,除此之外,还可以使用ABBYY PDF Transformer+重新组织PDF文档,如在文 ...

  2. 安卓webview子线程网络请求,怎么获得结果?

    向webview注入网络上的js,就需要请求js的url.但不允许在主线程直接发http请求,需要开子线程,开了子线程后,子线程就自己运行,主线程也自己运行,但是我的主线程需要子线程的结果才能继续往下 ...

  3. 上机题目(0基础)- 用数组实现记事本(Java)

    用java实现一个记事本程序,记录记下的按键,代码例如以下: package com.java.test; import java.awt.Graphics; import java.awt.even ...

  4. java命令行操作

    一直使用eclipse操作java程序,但RMI程序需要命令行操作,故研究了下java的命令行操作. javac 用于编译.java文件,生成.class文件 假设文件夹dir下有pa.java和a. ...

  5. Window日志分析

    0X00 简介 0x01 基本设置 A.Windows审核策略设置 前提:开启审核策略,若日后系统出现故障.安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息等. 打开设置窗口 Window ...

  6. iOS开发-- 字符串分割、拼接

    ---------------------字符串分割实例---------------------NSString * ptr = @"I am a man"; //将字符串整体作 ...

  7. 初步总结javascript中学习DOM之前的知识

    嘿嘿,又到了周末时间,周六其实就是总结这周的学习的,记得周二周三刚开始接触javascript时间,还是不知道怎么学习的,就感觉找不到方向,那时间学习的只是总结了一些简单的定义或者是学习结构,今天就把 ...

  8. iis下的php环境的配置

    1. 参考园友文章: http://www.cnblogs.com/zengxiangzhan/archive/2010/03/05/1679286.html 2.另外还可以参考一下文章: http: ...

  9. IOS 通过脚本自动打包工具 webfrogs/xcode_shell

    博文转载至 http://www.2cto.com/kf/201506/408346.html ios 开发通过xcode 打包其实效率不是太高,所以就有人,用shell 写了一个,自动打包,发邮件, ...

  10. Lua中的closure(闭合函数)

    词法域:若将一个函数写在另一个函数之内,那么这个位于内部的函数便可以访问外部函数中的局部变量,这项特征称之为“词法域”. 例:假设有一个学生姓名的列表和一个对应于没个姓名的年级列表,需要根据每个学生的 ...