python路由正则表达式

python路由正则表达式,python,django,django-urls,django-2.0,Python,Django,Django Urls,Django 2.0,我正在努力使用url.py 错误: [pylint]E0602:未定义的变量“模式” 代码: 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.py

错误:

[pylint]E0602:未定义的变量“模式”

代码:

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)),
)
以下是关于链接的教程:

问题2

教程中的相同问题:


这是从1.10中弃用的:

urlpatterns = patterns('')

因此,请确保您使用的是Django的兼容版本。

您遵循的是Django 1.7教程,但使用的是自己的Django 2.0.7。Django 2与旧版本不向后兼容,这可能会导致陷阱

我强烈建议您遵循当前版本的教程。官方文件有很好的参考价值

除非您的任务是维护遗留的Django项目,否则您不需要知道在过去的版本中是如何完成的。从当前版本(现在是Django 2)开始,学习如何完成这些工作。这是我的观点,并可能最终与其他开发人员的信念相一致

您面临的问题可以通过一些调整来解决。首先,行:

from django.conf.urls import *
无论您使用的是Django还是Python版本,这都是一种糟糕的做法

显式导入所需的模块。Django 2在路由方面有一个稍微不同的方法。尽管您仍然可以使用
url
,但新的方法是使用
path
urlpatterns
应该是一个包含
path
对象的
列表

适当的进口应为:

from django.urls import path, include
您的
urlpatterns
应该如下所示:

urlpatterns = [
    path('', 'notes.views.home', name='home'),
    path('admin/', include(admin.site.urls)),
]
更好的方法是在应用程序中定义
url.py
,并将其包含在项目目录的主
url.py
中:

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

您使用的是哪个版本的Django?这些答案可能会对您有所帮助:@cezar版本2.0.7
urlpatterns = [
    path('myrestaurants/', include('myrestaurants.urls', namespace='mysrestaurants'),
    path('admin/', include(admin.site.urls)),
]