0

我是 Django 1.4 的新手并尝试我的第一个项目。可以创建应用程序:

./manage.py startapp APP_NAME

并在 urls.py 中被 Django 识别如下:

(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 很复杂。

4

2 回答 2

0

你真的在'APP_NAME.__init__.py'中实现了你的home函数吗?如果没有,您的代码将无法工作,因为没有什么可以调用

于 2012-10-02T09:09:04.183 回答
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'),

只需启动 devserverpython manage.py runserver并将浏览器指向http://localhost:8000/news/

你应该看到“你好”。

现在你可以添加news/views.py更多的东西——比如detailsarchive等等。

还要确保__init__.py在您要导入的每个目录中都有一个空文件。 from app.views import something如果 app-directory 中没有 init-file 将不起作用。

于 2012-10-02T09:24:34.427 回答