Django--3--urls.py详解
来源:互联网 发布:月球背面知乎 编辑:程序博客网 时间:2024/04/28 01:25
1.urls.py是url分发器,路由配置文件。在这里面我们会构建起网站的目录,简单来说我们要做的事就是告诉Django,对于某段url该调用哪段代码。
2.在urls.py里我们有多种配置url的方式:
第一种(pattern,过时的方法)
from django.conf.urls import patternsurlpatterns = patterns('', (r'hello/$', v1.hello),)
第二种(列表,推荐方式)
from django.conf.urls import urlfrom django.contrib import adminfrom hello import views as v1urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello/$', v1.hello, name='hello'),]
让我们来看看url这个函数的各种参数
def url(regex, view, kwargs=None, name=None, prefix=''): ......省略......
urlpatterns = [ url ( 正则表达式,view函数,传递给视图的参数, 别名(命名空间),前缀 ) ]
这里有几个说明:
说明一:这里的view函数我们之前用的是一个对象,但其实也可以用字符串形式去传递
urlpatterns = [ url(r'^hello/$', 'hello.views.hello', name='hello'), # 上面的url函数源码中对这种字符串进行了处理]说明二:传递的参数可以像下面这样
url(r'^hello/$', v1.hello, {'a': 123}, name='hello'),一旦我们这样定义之后,由于views.py里面并没有a这个参数,所以会报错,我们需要这样修改:
def hello(request, a): # 添加这个参数来接受 print a user_list = User.objects.all() return render(request, 'table.html', {'user_list': user_list})
3.关于url分解器,include函数
目前我们的url配置都是写在项目的urls.py里面的,这样写本来没有问题,但是当网站功能很多时,我们就会配置很多的url,这时都写在这个urls.py里面就会显得杂乱。所以我们更想就在一个app里面配置这个app的url。
如果要这样做,那么我们首先可以将项目的urls.py复制一份到app里面去。然后在app内进行配置,而在项目的urls.py里我们就需要个url分解器,即include函数去引入你在别的app上写的urls.py
app中urls.py如下:
from django.conf.urls import urlfrom hello import view # 从我的app中导入views.pyurlpatterns = [ url(r'^hello/$', view.hello),]项目中的urls.py如下:
from django.conf.urls import url, includefrom django.contrib import adminurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^', include('hello.urls')), # 这里我们用include函数来引入app中的url]
4.关于正则表达式
关于正则表达式在另一篇学习爬虫的笔记中有提到,这是个坑,大家且行且注意......
阅读全文
0 0
- Django--3--urls.py详解
- Django&views.py&urls.py
- Django urls.py的集中
- [django]urls.py 中重定向
- Django urls.py的集中管理配置
- [urls.py设置技巧]Django urls.py的了解与基本配置
- django中在主项目urls.py中调用app中的urls.py
- urls.py
- [urls.py设置技巧]Django是如何处理URLconf的?
- Django中关于URL配置文件urls.py的理解
- Django学习03---urls.py路由用法与实例
- Django中关于URL配置文件urls.py的理解
- Django--4--views.py详解
- python+django 更改了urls.py 之后runserver报错的解决办法
- python+django 更改了urls.py 之后runserver报错的解决办法
- 转载 http://www.cnblogs.com/jingqi/articles/7349530.html django urls.py 路由用法
- 【Django】urls.py中patterns后的第一个参数(1.8版本之前)
- Django 中 urls 使用
- 试题14:调整数组顺序使奇数位于偶数前面
- 第三方库编译笔记
- UVA自由组合 DAG+拓扑排序
- leetcode 第四题
- nodejs代码段(五)
- Django--3--urls.py详解
- Crypto
- axios --Vue使用Ajax
- JDBC
- MySQL存储过程、游标、触发器和视图的简单用法
- 试题15:链表中倒数第k个结点
- codevs 1557 热浪 SPFA 解题报告
- 初学python 解压手写训练图片
- hdu 3555(数位dp)