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

作者&投稿:孙志 (若有异议请与网页底部的电邮联系)
~

导读:今天首席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怎么配置文件的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。




django多个页面urls怎么办(django的url)
首先,在我们的URLconf中连接一个视图。插入下面这行: (r'^admin\/books\/report\/$','mysite.books.admin_views.report'), 在将这行加入这个admin视图之前,原本的URLconf应该是这样: fromdjango.conf.urls.defaultsimport* urlpatterns=patterns('', (r'^admin\/bookstore\/report\/$','bookstore.admin_views.repor...

django如何获取上个url(django获取ip地址)
今天给各位分享django如何获取上个url的知识,其中也会对django获取ip地址进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、js怎么获取上一个页面的url2、如何python获取sql数据库访问的url3、怎么在django中获取URL上的参数4、请教各位高手Django的url配置问题5、DJANGO开发的留...

django如何访问外部url?
Django在URLconf中的所有URL模式中,查找第一个匹配\/hello\/的条目。如果找到匹配,将调用相应的视图函数 视图函数返回一个HttpResponse Django转换HttpResponse为一个适合的HTTPresponse,以Webpage显示出来 结语:以上就是首席CTO笔记为大家介绍的关于django如何访问外部url的全部内容了,希望对大家有所帮助,...

如何遍历得到一个django工程的所有url
if hasattr(urlpattern, 'urlconf_name'):存在urls子模块,递归该方法 url_all.extend(urlAll(newpattern, urlpattern.urlconf_name))else:url_all.append(newpattern)return url_all 使用方法:比如你的ROOT_URLCONF=‘test.urls'那么这样调用:urlAll('^', 'test.urls')返回值就是你整个django...

django怎么获取参数?
导读:今天首席CTO笔记来给各位分享关于django怎么获取参数的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!怎么在django中获取URL上的参数其实很简单 coding:utf-8 fromdjango.shortcutsimportrender,render_to_response Createyourviewshere.fromdjango.httpimportHttpResponse defhi(...

django如何区分不同的request?
from django.urls import path from . import views urlpatterns = [path('articles\/', views.article_list),path('articles\/<int:id>\/', views.article_detail),]views.py def article_list(request):处理列表页请求 ...def article_detail(request, id):处理详情页请求,id 是从 URL 中提取...

Django中URL两个空路径都不匹配怎么办
两个方案:1:在后台将数据替换好送到前台,后台处理的办法可以使用replace或者正则表达式 2:后台不处理,让前台用jquery来处理,处理办法是正则表达式。因为你没有具体的程序,所以只能给你一些建议。如果你把程序贴出来,可能会有更佳的解决办法。

django中href怎么用(django使用)
导读:今天首席CTO笔记来给各位分享关于django中href怎么用的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!djangoa标签传递参数,urls.py要怎么写可以使用url里面自带的name的方法。对于像a这样链接的操作。用法:不带参数的:{%url'name'%}带参数的:参数可以是变量名{%url'...

Django框架中为什么要使用实例命名空间?
path('posts\/<int:pk>', views.post_detail, name='post_detail'),]project\/urls.py from django.contrib import admin from django.urls import path, include urlpatterns = [path('admin\/', admin.site.urls),path('blog\/', include('blog.urls', namespace='blog')),]在上面的例子中,...

django中转换器是什么(Django是什么)
本篇文章首席CTO笔记来给大家介绍有关django中转换器是什么以及Django是什么的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、转换器是干什么用的2、Django中url与path及re_path区别3、什么是A\/D、D\/A转换器?它们的作用是什么?4、转换器是干什么用的转换器用途转换器是干什么用的...

福建省17536312729: Django中 hour - ahead(request, offset): url怎样配置 -
堵饲来氟: 说的太泛泛了,如果你说的是书上的实例的话 这个是可以的 urlpatterns = patterns('', (r'^time/plus/(\d{1,2})/$', hours_ahead),

福建省17536312729: django1.9中怎么引入js和css文件 -
堵饲来氟: 参考如下 假如项目的目录tree为:mysite: manage.py mysite: __init__.py settings.py urls.py wsgi.py blog(建立的应用程序): models.py views.py test.py __init__.py templates 开始配置:1、在外部的mysite目录下(也就是项目的根目录)建立...

福建省17536312729: Django后台上传的图片前台怎么显示不出来?路径的问题怎样解决? -
堵饲来氟: 需要在 urls 中配置一下 urlpatterns = patterns('',# 第一个参数就是要显示图片的url# 第二个 django的static 模块# 第三个 文件的实际路径url(r'^static/(?P<path>.*)', 'django.views.static.serve', {'document_root': 'd:/wwwsite/office/static'}), )...

福建省17536312729: python怎么使用django框架 -
堵饲来氟: Django为我们提供了众多的开发指令,大部分繁琐的操作都被Django集成在简洁的命令行提示符中实现.现在打开命令提示符,进入到想要创建 应用的目录后键入django-admin.py startproject news命令,调用Django的控制台命令新建一个名为...

福建省17536312729: 如何在django里使用静态文件 -
堵饲来氟: 推荐用新版本的Django进行开发,可以肯定的是 Django 1.4 以后的版本应该都支持下面的设置 注意:Django 1.4 版本需要在 project/urls.py 底部加上:from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns += staticfiles_...

福建省17536312729: django中怎么载入css等静态文件 -
堵饲来氟: settings.py中的设置:STATICFILES_DIRS = ('templates/static',) urls.py中设置:url(r'^staticfiles/(?P.*)$','django.views.static.serve',{'document_root':settings.STATICFILES_DIRS, 'show_indexes': True}),html中引用方式:这样设置完,文件是找到了...

福建省17536312729: django1.8和jinja2配合,url标签怎么传参数 -
堵饲来氟: 可以使用url里面自带的name的方法. 对于像这样链接的操作. 用法: 不带参数的: {% url 'name' %} 带参数的:参数可以是变量名 {% url 'name' 参数 %} 所以这里的改变为:url('^login_first/$',views.login,name="login_first")(对于其他部分自动补脑),在. 解释:{% url 'login_first'%},这里的login_first代表着这个url自动去寻找django的url里面name="login_first"这个条链接,并将前面的url赋给标签中的href.

福建省17536312729: django中url配置什么用 -
堵饲来氟: 相当于一个字典,客户端给你一个单词既URL,你把单词(URL)对应的解释(HTML)内容返回给客户端.

福建省17536312729: Django中怎么配置本地 -
堵饲来氟: 1创建一个django项目2运行这个django环境,这时PyCharm会报错,提示缺少子命令3配置PyCharm:添加 runserver 到配置中. 即可.4再运行PyCharm上的django项目:则说明配置成功.

福建省17536312729: Django1.8中应该怎么配置js静态资源 -
堵饲来氟: 1、先在你的app文件中新建一个文件夹static,再分别建立三个子文件夹js,style,images. 2、在settings.py中,加入: STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), ) 3、在html页面头部加入: {% load ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网