使用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“,第8行,in url(r'^ $',views,hello_world),
NameError:名称'hello_world'未定义
答案 0 :(得分:2)
错误告诉您没有定义hello_world
等变量。您需要将其更改为:
url(r'^$', views.hello_world)
views
是您在顶部导入的视图模块。
答案 1 :(得分:0)
这行代码错误
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 *