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操作,暂时全部 ...
随机推荐
- redis的有序集合ZSET(stored set)
相关命令 1.ZADD ZADD key-name score member [score member……] 将带有给定分值的成员添加到有序集合里 2.ZREM ZREM key-name mem ...
- eclipse中断点不生效
摘录自:http://blog.sina.com.cn/s/blog_496117520100kw6b.html Eclipse下Debug时弹出错误“Unable to install breakp ...
- DTD与模式
摘要 我们在制作页面时必须要测的就是IE浏览器,毕竟IE浏览器市场占有率还是很高.随着HTML5的流行,可能项目要求兼容IE最低版本为IE8或者更高,但是还是有很多项目兼容IE低版本.所以我们经常会碰 ...
- Disconf (version : 2.6.21)
通常我们会做如下配置:(disconf 2.6.21) <!-- 一次扫描 --> <bean id="disconfMgrBean" class="c ...
- C#------Aspose.cells使用方法
转载: http://www.cnblogs.com/muer/p/yaxle.html 代码: public ActionResult ImportData(HttpPostedFileBase f ...
- 开启apache的server-status辅助分析工具
在Apache的调优过程中,可以通过查看Apache提供的server-status(状态报告)来验证当前所设置数值是否合理,在httpd.conf文件中做如下设置来打开: #加载mod_status ...
- 8 -- 深入使用Spring -- 4... Spring的AOP
8.4 Spring的AOP AOP(Aspect Orient Programming),也就是面向切面编程,最为面向对象编程的一种补充. AOP和OOP互为补充,面向对象编程将程序分解成各个层次的 ...
- 在CentOS Linux下部署Activemq 5
准备:安装之前首先安装jdk-1.7.x及以上版本 配置/etc/sysconfig/network文件 和/etc/hosts文件,把主机名的解析做清楚: 如: # cat /etc/sysconf ...
- vux (scroller)上拉刷新、下拉加载更多
1)比较关键的地方是要在 scroller 组件上里加一个 ref 属性 <scroller :lockX=true height="-170" :pulldown-conf ...
- ConcurrentModificationException 详解
工作中碰到个ConcurrentModificationException.代码如下: List list = ...;for(Iterator iter = list.iterator(); ite ...