django 视图与网址

本文介绍Django项目中如何配置多个应用(app)的URL,包括基本的URL映射设置及通过include方法实现子应用路由的高级配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我创建了一个名为mysite的项目,在这个项目下,创建了一个名为learn的app。在这个app下创建了两个views,一个是index,一个是login。

wKiom1iv9RXjz3AWAAD2bJIsEDs725.png

要想使用这两个views,必须要先引入才行。urls代码如下:

1
2
3
4
5
6
7
8
9
10
#coding:utf8
from  django.conf.urls  import  url,include
from  django.contrib  import  admin
#先引入视图,才能使用
import  learn.views as learn_views 
urlpatterns  =  [
     url(r '^admin/' , admin.site.urls),
     url(r '^$' , learn_views.index),
     url(r '^login/' , learn_views.login),
]

wKiom1iv9lmj5dY-AAFDq21OEPQ353.png

这样当访问http://127.0.0.1:8000/时,就由learn这个app的views中的index函数来响应请求。

当访问http://127.0.0.1:8000/login时,就由learn这个app的views中的login函数来响应请求。


如果我的mysite项目中有多个app(learn和admin),那么每次访问其中其中一个app下的某一个网址时,都需要在mysite/urls中进行设置就比较麻烦?能否在每个app中设置urls呢?

wKiom1iwASeDMOxHAADZa5w9EOU015.png

我们可以这样做:

在project_/urls中 include(app.urls), app/urls文件需要创建。

设置mysite/urls

1
2
3
4
5
6
7
8
9
10
11
12
#coding:utf8
##一定要import include模块
from  django.conf.urls  import  url,include
from  django.contrib  import  admin
 
 
urlpatterns  =  [
     url(r '^admin/' , admin.site.urls),
     url(r '^learn/' , include( 'learn.urls' ))
     # url(r'^$', learn_views.index),
     # url(r'^login/', learn_views.login),
]

注意:mysite/urls中一定要导入include模块。

这样当访问的网址后面为learn时,由learn下的urls文件来响应。


设置learn/urls

1
2
3
4
5
6
7
8
9
10
11
#coding:utf8
from  django.conf.urls  import  url
from  django.contrib  import  admin
##要记得引入learn/views中的所有方法
from  learn.views  import  *
 
urlpatterns  =  [
     url(r '^$' , index),
     url(r '^login/' , login),
 
]

wKiom1iv_pqR69FgAADc_7CJzhw156.png

如何访问lean 这个app下的login网址?

http://127.0.0.1:8000/learn/login

wKiom1iv__HDu5C6AABFoHpjPlk326.png











本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1901031,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值