Django 1.9中的新网址格式 [英] New url format in Django 1.9

查看:175
本文介绍了Django 1.9中的新网址格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近将Django项目升级到1.9版本。



当我尝试运行迁移时,我得到以下两个错误:


  1. 支持url()的字符串视图参数已被弃用,将被删除Django 1.10(得到app.views.about)。通过callable来代替。

  2. django.conf.urls.patterns()已被弃用,将在Django 1.10中删除。将您的urlpatterns更新为django.conf.urls.url()实例的列表。

有人能告诉我如何做到这一点的正确语法?以下是我的 urls.py 的简短示例:

  urlpatterns = pattern('',
url(r'^ about / $','app.views.about',
name ='about'),


urlpatterns + = patterns('accounts.views',
url(r'^ signin / $','auth_login',
name ='login'),

谢谢!

解决方案

直接导入您的意见或视图模块:

  from apps.views import about 
from accounts import视图为account_views

不要使用模式所有,只需使用列表或元组:

  urlpatterns = [
url(r'^ about / $'约
name ='about'),
]

urlpatterns + = [
url(r'^ signin / $',account_views.auth_login,
name ='login'),
]


I recently upgraded my Django project to version 1.9.

When I try to run migrate, I am getting the following two errors:

  1. Support for string view arguments to url() is deprecated and will be removed in Django 1.10 (got app.views.about). Pass the callable instead.
  2. django.conf.urls.patterns() is deprecated and will be removed in Django 1.10. Update your urlpatterns to be a list of django.conf.urls.url() instances instead.

Could someone please show me the proper syntax of how to do this? A brief sample of my urls.py is below:

urlpatterns = patterns('',
    url(r'^about/$', 'app.views.about',
        name='about'),
)

urlpatterns += patterns('accounts.views',
    url(r'^signin/$', 'auth_login',
        name='login'),
)

Thank you!

解决方案

Import your views directly, or your views modules:

from apps.views import about
from accounts import views as account_views

Do not use patterns at all, just use a list or tuple:

urlpatterns = [
    url(r'^about/$', about,
        name='about'),
]

urlpatterns += [
    url(r'^signin/$', account_views.auth_login,
        name='login'),
]

这篇关于Django 1.9中的新网址格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆