将代码从 Django 1.9 版翻译到 2.0 版

Posted

技术标签:

【中文标题】将代码从 Django 1.9 版翻译到 2.0 版【英文标题】:Translating code from Django version 1.9 to version 2.0 【发布时间】:2021-03-14 05:10:58 【问题描述】:

我目前正在尝试开始使用 Django。但是我使用的书使用的是Django版本2.0

现在面临的问题是这段代码:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'', include('learning_logs.urls', namespace = learning_logs'))
]

我环顾四周,这就是我写的

from django.contrib import admin
from django.urls import include, path

app_name = 'learning_logs'
urlpatterns = [
    path('admin/', admin.site.urls),
    path('learning_logs/', include('learning_logs.urls', namespace = 'learning_logs')),
]

但是当我运行服务器时出现错误:

提出不当配置( django.core.exceptions.ImproperlyConfigured:不支持在 include() 中指定命名空间而不提供 app_name。在包含的模块中设置 app_name 属性,或者传递一个包含模式列表和 app_name 的 2 元组。

对此有任何帮助。提前致谢

【问题讨论】:

这能回答你的问题吗? ImproperlyConfiguredError about app_name when using namespace in include() 【参考方案1】:

learning/urls.py 中需要设置app_name = 'learning_logs。不在包含这些 url 的模块中。

顺便说一句,您可能希望使用 -Wd 开关运行 python,以便您更快地收到弃用警告,并且您将能够更轻松地维护您的代码。

【讨论】:

谢谢。您能否提供如何运行-Wd 的示例代码。我正在使用窗户。谢谢您的帮助。我会试试看会发生什么 我想应该是类似的。也许试试py -Wd manage.py runserver。顺便说一句,如果我解决了您的问题,请标记此答案,以便其他人知道这是一个正确的解决方案。

以上是关于将代码从 Django 1.9 版翻译到 2.0 版的主要内容,如果未能解决你的问题,请参考以下文章

Django 1.9 中的 query.group_by

从 1.8 升级到 1.9 Django Admin get_urls 不起作用

Ruby 2.1 与 Ruby 2.0 或 1.9 相比,内存使用量增加

django从1.7升级到1.9后 提示:RemovedInDjango110Warning

从 Django 1.6 升级到 1.9:python manage.py migrate 失败

Django jsonfields ValidationError: [u'Enter valid JSON'] 从 1.7 升级到 1.9