具体配置在项目配置文件夹下的 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. redis的有序集合ZSET(stored set)

    相关命令 1.ZADD ZADD key-name score member [score member……] 将带有给定分值的成员添加到有序集合里 2.ZREM ZREM  key-name mem ...

  2. eclipse中断点不生效

    摘录自:http://blog.sina.com.cn/s/blog_496117520100kw6b.html Eclipse下Debug时弹出错误“Unable to install breakp ...

  3. DTD与模式

    摘要 我们在制作页面时必须要测的就是IE浏览器,毕竟IE浏览器市场占有率还是很高.随着HTML5的流行,可能项目要求兼容IE最低版本为IE8或者更高,但是还是有很多项目兼容IE低版本.所以我们经常会碰 ...

  4. Disconf (version : 2.6.21)

    通常我们会做如下配置:(disconf 2.6.21) <!-- 一次扫描 --> <bean id="disconfMgrBean" class="c ...

  5. C#------Aspose.cells使用方法

    转载: http://www.cnblogs.com/muer/p/yaxle.html 代码: public ActionResult ImportData(HttpPostedFileBase f ...

  6. 开启apache的server-status辅助分析工具

    在Apache的调优过程中,可以通过查看Apache提供的server-status(状态报告)来验证当前所设置数值是否合理,在httpd.conf文件中做如下设置来打开: #加载mod_status ...

  7. 8 -- 深入使用Spring -- 4... Spring的AOP

    8.4 Spring的AOP AOP(Aspect Orient Programming),也就是面向切面编程,最为面向对象编程的一种补充. AOP和OOP互为补充,面向对象编程将程序分解成各个层次的 ...

  8. 在CentOS Linux下部署Activemq 5

    准备:安装之前首先安装jdk-1.7.x及以上版本 配置/etc/sysconfig/network文件 和/etc/hosts文件,把主机名的解析做清楚: 如: # cat /etc/sysconf ...

  9. vux (scroller)上拉刷新、下拉加载更多

    1)比较关键的地方是要在 scroller 组件上里加一个 ref 属性 <scroller :lockX=true height="-170" :pulldown-conf ...

  10. ConcurrentModificationException 详解

    工作中碰到个ConcurrentModificationException.代码如下: List list = ...;for(Iterator iter = list.iterator(); ite ...