当前位置: 首页 > 网络应用技术

django2.0.13如何配置URL(安装指定版本的Django)

时间:2023-03-06 16:05:59 网络应用技术

  简介:今天,首席CTO Note将与您分享如何配置Django2.0.13的URL。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  来自django.conf.urls导入模式,包括URL

  从视图导入 *

  urlpatterns =模式(

  url(r'^Hello/$',Hello),

  治愈

  第二个URL写作是有问题的。导入模块编写应为来自app.views import Hello的格式。在Django中,这种导入方法应该是。

  另外,像第二个一样,我通常以这种方式写:

  url(r'^Hello/$','app.viwes.hello`),

  查看Django书中的URL写作。

  流链接功能导入

  1:直接导入视图功能

  来自django.conf.urls.defaults导入 *

  从mysite.views导入hello

  urlpatterns =模式('',,

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

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

  治愈

  2:在介绍软件包模块的名称和函数的功能中,而不是函数本身

  来自django.conf.urls.defaults导入 *

  从缅甸进口视图

  urlpatterns =模式('',,

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

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

  治愈

  3:无需导入任何视图内容,写出字符串的清晰描述

  来自django.conf.urls.defaults导入 *

  urlpatterns =模式('',,

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

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

  治愈

  4:提取公共视图前缀

  来自django.conf.urls.defaults导入 *

  urlpatterns =模式('mysite.views',

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

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

  治愈

  5:partterns()返回对象的添加到对象

  老的:

  来自django.conf.urls.defaults导入 *

  urlpatterns =模式('mysite.view',,

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

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

  (r'^other/$','mysite.othother.oth'),

  治愈

  新的:

  来自django.conf.urls.defaults导入 *

  urlpatterns =模式('mysite.view',,

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

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

  治愈

  urlpatterns +=模式('mysite.OthoShts',,

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

  治愈

  6:到目前为止,在所有URLCONF示例中,我们都非常简单,即

  如果您要捕获的URL零件并添加小括号,Django将将捕获的文本传递到视图函数。

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

  在Python正则表达式中,正则表达组的语法(?pnamepatrn)是该组的名称,而模式是一种匹配模式。

  以下是使用未知组的URLCONF的示例:

  来自django.conf.urls.defaults导入 *

  从缅甸进口视图

  urlpatterns =模式('',,

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

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

  治愈

  以下是相同的URLCONF,它重写了命名组:

  来自django.conf.urls.defaults导入 *

  从缅甸进口视图

  urlpatterns =模式('',,

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

  ;

  治愈

  如果您不带命名组,请求/Arcticle/2006/03 //将等于此功能呼叫:

  month_archive(请求,'2006','03')

  对于命名组,相同的请求就是这样的函数调用:

  month_archive(请求,年='2006',月= '03')

  可以看出,使用命名组可以使您的urlconf更清晰,减少参数顺序可能与潜在的错误混合在一起,

  您还可以对定义中的参数进行排序。

  7:查看冗余:

  #urls.py

  来自django.conf.urls.defaults导入 *

  从缅甸进口视图

  urlpatterns =模式('',,

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

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

  治愈

  #views.py

  来自django.shortcuts导入render_to_response

  从mysite.models导入mymodel

  def foobar_view(请求,URL):

  m_list = mymodel.objects.filter(is_new = true)

  如果url =='foo':

  template_name ='Template1.html'

  elif url =='bar':

  template_name ='Template2.html'

  return render_to_response(template_name,{'m_list':m_list})

  使用上述方法可以减少视图冗余

  8:固定参数传递到URL:

  #urls.py

  来自django.conf.urls.defaults导入 *

  从缅甸进口视图

  urlpatterns =模式('',,

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

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

  治愈

  #views.py

  来自django.shortcuts导入render_to_response

  从mysite.models导入mymodel

  def foobar_view(请求,template_name):

  m_list = mymodel.objects.filter(is_new = true)

  return render_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(请求,'jan','01')

  2:(r'^mydata/(?pmonth/w {3})/(?pday/d/d)',view.mydata)mydata(请求,月='jan',day',day ='01')

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

  9:包括导入:

  来自django.conf.urls.defaults导入 *

  urlpatterns =模式('',,

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

  (r'^photos/',包括('mysite.photos.urls'),

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

  治愈

  10:示例:

  验证用户是否已登录:

  以下是三个观点

  def my_view1(请求):

  如果未request.user.is_authenticated():

  返回httpresponseredirect('/accounts/login/')

  #...

  返回render_to_response('template1.html')

  def my_view2(请求):

  如果未request.user.is_authenticated():

  返回httpresponseredirect('/accounts/login/')

  #...

  返回render_to_response('template2.html')

  def my_view3(请求):

  如果未request.user.is_authenticated():

  返回httpresponseredirect('/accounts/login/')

  #...

  返回render_to_response('template3.html')

  以下是视图上的包装:

  deficuires_login(查看):

  def new_view(请求, *args,** kwargs):

  如果未request.user.is_authenticatienatienationed():#如果用户未登录,请跳到登录接口

  返回httpresponseredirect('/accounts/login/')

  返回视图(请求, *args,** kwargs)#otherwise

  返回new_view #turn to new_view值:登录视图或查看视图

  以下是URL配置:

  来自django.conf.urls.defaults导入 *

  来自mySite.views import oneques_login,my_view1,my_view2,my_view3

  urlpatterns =模式('',,

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

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

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

  治愈

  在Django中,您通常需要配置图片,视频和其他格式文件。在配置过程中,它更为复杂。这是一个记录:

  将以下目录添加到文件末尾以存储上传的文件

  在模型中,图像字段是%y代表年份的年份,%m表示一个月。上传文件时,表示将上传到图像目录和当前限制目录的文件夹。

  image = models.imagefield(upload_to =“ image/%y/%m”,空白= true)

  其中,SRC中的{{Media_url}}将在模板中渲染,以用作 /媒体 /

  如果要在模板中使用{{Media_url}},请在“ template”的“ context_processis”选项中添加django.template.contexors.media。

  通过上述步骤,结果基本上可以正常呈现在前端,但是您需要在图片中添加一个URL才能正常显示。

  第一个行为介绍了静态文件的服务器,第二个行为是在配置文件中的介质_root中介绍的

  加入URL:

  1.什么是urls.py

  2. urls.py文件位置

  3. urls.py配置格式

  urlpatterns =模式('view prefix',

  URL(r'^正则表达式1/$','view函数1',name =“ url标识符1”),

  URL(r'^正则表达式2/$','view函数2',name =“ url标识2”),,

  治愈

  4.如何在urls.py中工作

  您是在谈论域名吗?通常在NGINX的正面代理和DJANGO的允许_HOST中配置

  结论:以上是由Django2.0.13的相关内容汇总的首席CTO注释,汇总了Django2.0.13。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?