NameError: name 'hello_world' is not defined
NameError: name 'hello_world' is not defined
使用 pycharm 社区 python3.6.2 Django 2.0.3
views.py
from django.http import HttpResponse
def hello_world(request):
return HttpResponse('Hello World')
urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views, hello_world),
]
我想弄清楚但遗漏了一些东西。
运行 在 pycharm
时出错
urls.py", line 8, in
url(r'^$', views, hello_world),
NameError: name 'hello_world' is not defined
错误告诉您没有定义 hello_world
等变量。您需要将其更改为:
url(r'^$', views.hello_world)
其中 views
是您在顶部导入的视图模块。
这行代码是错误的
url(r'^$', views, hello_world)
您刚刚导入了 view
,即文件 view.py。现在你需要调用函数视图,它将是这样的:
url(r'^$', views.hello_world)
您可能认为给 url 起个名字会很有用,这样您以后就可以在模板中使用它作为参考。
url(r'^$', views.hello_world, name='hello-world')
此外,您可以按如下方式导入 view.py:
from .views import hello_world
Niayesh Isky 评论中建议的下一个是可能的,但不鼓励。
from .views import *
使用 pycharm 社区 python3.6.2 Django 2.0.3
views.py
from django.http import HttpResponse
def hello_world(request):
return HttpResponse('Hello World')
urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views, hello_world),
]
我想弄清楚但遗漏了一些东西。
运行 在 pycharm
时出错urls.py", line 8, in url(r'^$', views, hello_world),
NameError: name 'hello_world' is not defined
错误告诉您没有定义 hello_world
等变量。您需要将其更改为:
url(r'^$', views.hello_world)
其中 views
是您在顶部导入的视图模块。
这行代码是错误的
url(r'^$', views, hello_world)
您刚刚导入了 view
,即文件 view.py。现在你需要调用函数视图,它将是这样的:
url(r'^$', views.hello_world)
您可能认为给 url 起个名字会很有用,这样您以后就可以在模板中使用它作为参考。
url(r'^$', views.hello_world, name='hello-world')
此外,您可以按如下方式导入 view.py:
from .views import hello_world
Niayesh Isky 评论中建议的下一个是可能的,但不鼓励。
from .views import *