弃用Django urls.py,更改urlpatterns

时间:2019-11-08 17:43:02

标签: python django

我尝试在Django 1.4中编译旧代码 不赞成使用许多东西。我设法更改了其中一些,但我不知道如何进一步处理urls.py

这是旧代码

from django.conf.urls.defaults import *
from django.conf import settings

dynurls = patterns('minesweepr.views',
    (r'^api/minesweeper_solve/$', 'api_solve'),
)

staticurls = patterns('minesweepr.views',
    (r'^player/$', 'template_static'),
    (r'^query/$', 'template_static'),
)

urlpatterns = patterns('',
    ('^%s' % settings.BASE_URL, include(dynurls)),
    ('^%s' % settings.BASE_STATIC_URL, include(staticurls)),            
)

我知道django.conf.urls.defaults已弃用,我试图更改这样的代码

from django.conf.urls import url, include
from django.conf import settings

dynurls = ['minesweepr.views',
    (r'^api/minesweeper_solve/$', 'api_solve'),
]

staticurls = ['minesweepr.views',
    (r'^player/$', 'template_static'),
    (r'^query/$', 'template_static'),
]

urlpatterns = ['',
    ('^%s' % settings.BASE_URL, include(dynurls)),
    ('^%s' % settings.BASE_STATIC_URL, include(staticurls)),            
]

但这还不够 据说我的网址格式无效。 有人有主意吗? 谢谢

1 个答案:

答案 0 :(得分:0)

欢迎使用堆栈溢出。 Django 1.4已有很长的历史了,很长一段时间都没有被支持。我建议花几天时间,一次升级一个版本。 Django 1.5在自定义用户模型中引入了非常大的更改,但除此之外,如果您一路阅读每个版本的发行说明,则迁移应该是一个相当简单的过程。

从具有以下发行说明的1.5版开始:https://docs.djangoproject.com/en/2.2/releases/1.5/

然后在进行迁移时继续使用1.6和1.7,依此类推。那将是获取最新消息的最佳途径。

您要引用的URL更改在2.0版中进行了重大更改,但我强烈建议您采用逐步方法。