我是Django 1.4的新手并尝试我的第一个项目。可以创建应用程序:
./manage.py startapp APP_NAME
由Django在urls.py中识别如下:
(r'^home/$', 'APP_NAME.views.home'),
但是当我只在项目的根目录中创建APP_NAME.py文件时,并将urls.py文件更改为:
(r'^home/$', 'APP_NAME.home'),
调试页面告诉我ViewDoesNotExist。即使我将urls.py文件更改为(带有from ... import且没有单引号):
from APP_NAME import home
(r'^home/$', home),
它也不起作用。
如何解决?它很复杂,可以为每个视图文件创建APP。
答案 0 :(得分:0)
您是否真的在'APP_NAME.__init__.py'中实施了家庭功能;如果没有,你的代码将无法工作,因为没有什么可以被称为
答案 1 :(得分:0)
python manage.py startapp news
在您创建的news
目录中,有一个views.py
。现在让我们添加一些内容:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello")
现在在urls.py
添加此内容:
(r'^news/$', 'news.index'),
启动devserver python manage.py runserver
并将浏览器指向http://localhost:8000/news/
你应该看到“你好”。
现在,您可以添加news/views.py
更多内容 - 例如details
,archive
等等。
还要确保在您要导入的每个目录中都有一个空的__init__.py
文件。
如果app-directory中没有init-file,from app.views import something
将无效。