python 路由正则表达式
python routing regex
我正在努力 urls.py
。
错误:
[pylint] E0602:Undefined variable 'patterns'
在代码中:
from django.conf.urls import *
from django.contrib import admin
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^$', 'notes.views.home', name='home'),
url(r'^admin/', include(admin.site.urls)),
)
我正在学习 link 上的教程:Django 教程:构建笔记应用程序
问题编号 2。
教程中的相同问题:简单的 Django Web 应用程序教程
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'\^admin/', admin.site.urls),
url(r'\^myrestaurants/', include('myrestaurants.urls', namespace='myrestaurants')),
]
从 1.10 开始不推荐使用:
urlpatterns = patterns('')
因此请确保您使用的是兼容版本的 Django。
您正在学习 Django 1.7 的教程,但您自己使用的是 Django 2.0.7。 Django 2 不向后兼容旧版本,这可能会导致陷阱。
我强烈建议您按照当前版本的教程进行操作。官方文档很好 tutorial.
除非你的任务是维护一个遗留的 Django 项目,否则你不需要知道过去的版本是如何完成的。从当前版本(现在是 Django 2)开始,了解必须如何完成这些事情。这是我的观点,最终可能会与其他开发人员的观点发生冲突。
您遇到的问题可以通过一些调整来解决。首先,行:
from django.conf.urls import *
是一种不好的做法,无论您使用的是 Django 还是 Python 版本。
明确导入您需要的模块。在路由方面,Django 2 的方法略有不同。尽管您仍然可以使用 url
,但新方法是使用 path
。 urlpatterns
应该是包含 path
个对象的 list
。
正确的导入应该是:
from django.urls import path, include
您的 urlpatterns
应如下所示:
urlpatterns = [
path('', 'notes.views.home', name='home'),
path('admin/', include(admin.site.urls)),
]
更好的方法是在您的应用程序中定义 urls.py
并将其包含在项目目录的主要 urls.py
中:
urlpatterns = [
path('myrestaurants/', include('myrestaurants.urls', namespace='mysrestaurants'),
path('admin/', include(admin.site.urls)),
]
我正在努力 urls.py
。
错误:
[pylint] E0602:Undefined variable 'patterns'
在代码中:
from django.conf.urls import *
from django.contrib import admin
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^$', 'notes.views.home', name='home'),
url(r'^admin/', include(admin.site.urls)),
)
我正在学习 link 上的教程:Django 教程:构建笔记应用程序
问题编号 2。
教程中的相同问题:简单的 Django Web 应用程序教程
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'\^admin/', admin.site.urls),
url(r'\^myrestaurants/', include('myrestaurants.urls', namespace='myrestaurants')),
]
从 1.10 开始不推荐使用:
urlpatterns = patterns('')
因此请确保您使用的是兼容版本的 Django。
您正在学习 Django 1.7 的教程,但您自己使用的是 Django 2.0.7。 Django 2 不向后兼容旧版本,这可能会导致陷阱。
我强烈建议您按照当前版本的教程进行操作。官方文档很好 tutorial.
除非你的任务是维护一个遗留的 Django 项目,否则你不需要知道过去的版本是如何完成的。从当前版本(现在是 Django 2)开始,了解必须如何完成这些事情。这是我的观点,最终可能会与其他开发人员的观点发生冲突。
您遇到的问题可以通过一些调整来解决。首先,行:
from django.conf.urls import *
是一种不好的做法,无论您使用的是 Django 还是 Python 版本。
明确导入您需要的模块。在路由方面,Django 2 的方法略有不同。尽管您仍然可以使用 url
,但新方法是使用 path
。 urlpatterns
应该是包含 path
个对象的 list
。
正确的导入应该是:
from django.urls import path, include
您的 urlpatterns
应如下所示:
urlpatterns = [
path('', 'notes.views.home', name='home'),
path('admin/', include(admin.site.urls)),
]
更好的方法是在您的应用程序中定义 urls.py
并将其包含在项目目录的主要 urls.py
中:
urlpatterns = [
path('myrestaurants/', include('myrestaurants.urls', namespace='mysrestaurants'),
path('admin/', include(admin.site.urls)),
]