问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

django中url怎么配置文件(2023年最新解答)

提问网友 发布时间:2025-02-10 15:18
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-03-28 15:58

导读:今天首席CTO笔记来给各位分享关于django中url怎么配置文件的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Django中关于URL配置文件urls.py的理解

1.什么是urls.py

2.?urls.py文件位置

3.?urls.py配置格式

urlpatterns=patterns('视图前缀',

??url(r'^正则表达式1/$','视图函数1',name="url标识1"),

??url(r'^正则表达式2/$','视图函数2',name="url标识2"),

)

4.?urls.py如何工作

python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件

在Django项目开发中,不能像正常web开发一样通过'imgs/bg.jpg'访问本地静态文件,需要做一些配置,才能实现静态文件的访问。

一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。

二、项目配置

1、打开settings.py,在底部添加:

2、打开urls.py,在urlpatterns中添加:(注意,如果你在blog目录下也建立了urls.py,那么就得在blog/urls.py中做修改。别忘了importsettings):

(不过我经过实测,不加这一个,也可以完成静态文件的访问)

3、在html模板最上面添加:

然后在需要的地方按照这个格式进行调用,如:

最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。

请教各位高手Django的url配置问题

流线型化(streamlinling)函数导入

1:直接导入视图函数

fromdjango.conf.urls.defaultsimport*

frommysite.viewsimporthello

urlpatterns=patterns('',

(r'^hello/$',hello),

(r'^time/$',time),

)

2:导入包函模块名和函数的客串,而不是函数本身

fromdjango.conf.urls.defaultsimport*

frommysiteimportviews

urlpatterns=patterns('',

(r'^hello/$','views.hello'),

(r'^time/$','views.time'),

)

3:不用导入任何视图内容,写清楚字符串描述

fromdjango.conf.urls.defaultsimport*

urlpatterns=patterns('',

(r'^hello/$','mysite.views.hello'),

(r'^time/$','mysite.views.time'),

)

4:提取一个公共视图前缀

fromdjango.conf.urls.defaultsimport*

urlpatterns=patterns('mysite.views',

(r'^hello/$','hello'),

(r'^time/$','time'),

)

5:partterns()返回对对象的相加

旧:

fromdjango.conf.urls.defaultsimport*

urlpatterns=patterns('mysite.view',

(r'^hello/$','hello'),

(r'^time/$','time'),

(r'^other/$','mysite.others.other'),

)

新:

fromdjango.conf.urls.defaultsimport*

urlpatterns=patterns('mysite.view',

(r'^hello/$','hello'),

(r'^time/$','time'),

)

urlpatterns+=patterns('mysite.others',

(r'^other/$','other'),

)

6:到目前为止,在所有URLconf例子中,我们使用的很简单,即“无命名”正则表达式组,在我们

想要捕获的URL部分加上小括号,django会将捕获的文本作为位置参数传递给视图函数。在更

高级的用法中,还可以使用“命名”正则表达式组来捕获URL,并且将其作为“关键字”参数传给视图。

在python正则表达式中,命名的正则表达式组的语法是(?pnamepattern),这里name是组的名字,而pattern是匹配的某个模式。

下面是一个使用无名组的URLconf的例子:

fromdjango.conf.urls.defaultsimport*

frommysiteimportviews

urlpatterns=patterns('',

(r'^arcticles/(\d{4})/$',views.year_archive),

(r'^arcticles/(\d{4})/(\d{2})/$',view.moth_archive),

)

下面是相同的URLconf,使用命名组进行了重写:

fromdjango.conf.urls.defaultsimport*

frommysiteimportviews

urlpatterns=patterns('',

(r'^arcticles/(?Pyear\d{4})/$',veiws.year_archive),

(r'^arcticles/(?Pyear\d{4})/(?Pmonth\d{2})/$',veiws.month_archive),

)

如果不带命名组,请求/arcticle/2006/03/将会等于这样的函数调用:

month_archive(request,'2006','03')

而带命名组,同样的请求就是这样的函数调用:

month_archive(request,year='2006',month='03')

从中可以看出,使用命名组可以让你的URLconf更加清晰,减少参数次序可能搞混潜在的Bug,

还可以让你的定义中对参数重新排序。

7:视图冗余:

#urls.py

fromdjango.conf.urls.defaultsimport*

frommysiteimportviews

urlpatterns=patterns('',

(r'^(foo)/$',views.foobar_view),

(r'^(bar)/$',views.foobar_view),

)

#views.py

fromdjango.shortcutsimportrender_to_response

frommysite.modelsimportMyModel

deffoobar_view(request,url):

m_list=MyModel.objects.filter(is_new=True)

ifurl=='foo':

template_name='template1.html'

elifurl=='bar':

template_name='template2.html'

returnrender_to_response(template_name,{'m_list':m_list})

利用上面的方法可以减少视图冗余

8:为url里传入固定的参数:

#urls.py

fromdjango.conf.urls.defaultsimport*

frommysiteimportviews

urlpatterns=patterns('',

(r'^foo/$',views.foobar_view,{'template_name':'template1.html'}),

(r'^bar/$',views.foobar_view,{'template_name':'template2.html'}),

)

#views.py

fromdjango.shortcutsimportrender_to_response

frommysite.modelsimportMyModel

deffoobar_view(request,template_name):

m_list=MyModel.objects.filter(is_new=True)

returnrender_to_response(template_name,{'m_list':m_list})

一些URL参数详解:

/mydata/jan/01/

/mydata/jan/02/

/mydata/jan/03/

以上为三个url我们可以用不同的方式实现

1:(r'^mydata/(/w{3})/(/d/d)',views.mydata)mydata(request,'jan','01')

2:(r'^mydata/(?Pmonth/w{3})/(?Pday/d/d)',view.mydata)mydata(request,month='jan',day='01')

3:(r'^mydata/birthday/$',views.mydata,{month:'jan',day:'01'})mydata(request,month='jan',day='01')

9:include导入:

fromdjango.conf.urls.defaultsimport*

urlpatterns=patterns('',

(r'^weblog/',include('mysite.blog.urls')),

(r'^photos/',include('mysite.photos.urls')),

(r'^about/$','mysite.views.about'),

)

10:实例:

验证用户是否登录:

以下是三个视图

defmy_view1(request):

ifnotrequest.user.is_authenticated():

returnHttpResponseRedirect('/accounts/login/')

#...

returnrender_to_response('template1.html')

defmy_view2(request):

ifnotrequest.user.is_authenticated():

returnHttpResponseRedirect('/accounts/login/')

#...

returnrender_to_response('template2.html')

defmy_view3(request):

ifnotrequest.user.is_authenticated():

returnHttpResponseRedirect('/accounts/login/')

#...

returnrender_to_response('template3.html')

以下是对视图进行包装:

defrequires_login(view):

defnew_view(request,*args,**kwargs):

ifnotrequest.user.is_authenticated():#如果用户没有登录,跳转到登录界面

returnHttpResponseRedirect('/accounts/login/')

returnview(request,*args,**kwargs)#否则返回传进来的方法

returnnew_view#返回new_view值:登录视图或者是传进来的视图

以下为URL配置:

fromdjango.conf.urls.defaultsimport*

frommysite.viewsimportrequires_login,my_view1,my_view2,my_view3

urlpatterns=patterns('',

(r'^view1/$',requires_login(my_view1)),

(r'^view2/$',requires_login(my_view2)),

(r'^view3/$',requires_login(my_view3)),

)

结语:以上就是首席CTO笔记为大家介绍的关于django中url怎么配置文件的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

django代码中怎么调用view(2023年最新整理) 日式婚礼服装有哪些日式婚礼服装特点 二零零五年农历七月初一到二零壹玫年农历五月三十,一共是多少个月,包括... MAXHUB视臻科技BM31全向麦克风-适用对象 MAXHUB视臻科技 BM20无线会议麦克风-适用对象 MAXHUB视臻科技视频会议全向麦克风 孕妇能不能喝桂花茶? 孕妇能喝桂花茶吗 孕期适合喝哪些茶 我想在合肥国购广场里找块走廊摆货架做生意,我应该去哪找商场负责人?还... 想在合肥大学学做生意,不知大学生做那个比较好呢 合肥哪里人气最旺,适合做生意 我家狗打过狂犬疫苗,被它咬了要打针吗 手机爱奇艺怎么调整视频清晰度高 蹲久了腿麻有什么不良危害吗? 上厕所腿麻是怎么回事 蹲久了为什么腿麻 win10系统屏幕一直亮 电脑怎么设置屏幕常亮win10win10怎么设置屏幕常亮不休眠 mathtype69mathtype6是哪个软件的插件还有就是我的word中没有数学公式... Ext.toolbar.Paging 如何拖动 初次去百色旧州古镇游玩,需要注意哪些事项? 王者荣耀排位闪退解决办法 排位闪退怎么办[图]-手游攻略-游戏鸟手游网... 王者荣耀闪退了进不去怎么办王者荣耀闪退怎么办 王者荣耀 王者荣耀闪退怎么办? 堡垒之夜砥砺行者运动女将任务攻略 堡垒之夜选手最高年薪 堡垒之夜手游足球皮肤大全 球队皮肤怎么得 堡垒之夜珊瑚伴侣任务怎么做_堡垒之夜珊瑚伴侣任务攻略 朴树这个人名字怎么念? 通银地产口碑 通银集团怎么样 苹果热点低数据模式怎么变快了 学校家长疫情注意事项 银河证券交易手续费要多少? 房间为什么不能放镜子 肖像权侵犯的处理方法 侵犯肖像权的主要行为有哪些 侵犯肖像权的法律责任及其处罚 肖像权侵犯应如何处理? 侵犯他人肖像权的法律规定
Top