Windows 7
Python 2.7.3
Django 1.5
python manage.py运行服务器
我正在遵循'https://docs.djangoproject.com/en/1.5/intro/tutorial03/‘上提供的教程。
在settings.py中使用DEBUG=True可以正确地生成网页。地址
http://127.0.0.1:8000/admin/ 显示管理员登录页面。
http://127.0.0.1:8000/polls/ 显示“What‘s up?”项目符号链接。
http://127.0.0.1:8000/polls/1/ 显示数字“1”
http://127.0.0.1:8000/polls/2/ 显示标准的404消息。然而,如果我设置了DEBUG=False (不做任何其他事情),那么我在所有地址上都会得到一个500错误!我使用的是开发内部runserver。没有回溯错误。服务器日志如下所示:
使用DEBUG=True
0 errors found
March 19, 2013 - 12:01:12
Django version 1.5, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[19/Mar/2013 12:06:41] "GET /admin/ HTTP/1.1" 200 1893
[19/Mar/2013 12:54:55] "GET /polls/ HTTP/1.1" 200 74
[19/Mar/2013 12:55:02] "GET /polls/2/ HTTP/1.1" 404 1577
[19/Mar/2013 12:55:09] "GET /polls/1/ HTTP/1.1" 200 1
Validating models... 使用DEBUG=False
0 errors found
March 19, 2013 - 12:55:21
Django version 1.5, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[19/Mar/2013 12:59:22] "GET /admin/ HTTP/1.1" 500 27
[19/Mar/2013 12:59:25] "GET /polls/ HTTP/1.1" 500 27
[19/Mar/2013 12:59:28] "GET /polls/1/ HTTP/1.1" 500 27
[19/Mar/2013 12:59:34] "GET /polls/2/ HTTP/1.1" 500 27 我的目录结构如下:
1> mysite
2> - mysite
3> - polls
4> - templates
5> - polls
6> - templates
7> - admin 我的'manage.py‘是@ 1>,所以我知道我必须在以下文件和位置中进行编辑。
@ 2> settings.py
@ 2> urls.py
但是:
答:我当前没有@ 2>的'view.py‘文件,这会是一个新文件吗?学习完本教程后,我现在有了一个'view.py‘@ 3>;
B.应该将“404.html”放入@2>下的新模板目录还是现有的两个模板目录(@4>或@6>)之一?我假设一个自定义的'500.html‘应该放在同一个目录中。
我很乐意发布更多你想看的代码。
发布于 2013-03-19 20:09:52
很可能,您忘记了在settings file中设置ALLOWED_HOSTS。
发布于 2013-03-21 04:34:31
我之前也遇到过同样的问题,我在我的模板目录中创建了404.html,指定了有效的ALLOWED_HOSTS并重新启动了我的was服务器,从而修复了这个问题
发布于 2013-03-21 04:58:48
我遇到了类似的问题,并能够用最少的代码修复它,假设您的django项目名为mysite:
# mysite/mysite/settings.py
DEBUG = False
ALLOWED_HOSTS = ['localhost']
# Tells your project to find your custom 404.html at mysite/mysite/templates/404.html
INSTALLED_APPS = (..., 'tutorial', ...)
# mysite/mysite/urls.py
handler404 = 'tutorial.views.custom_404'
# mysite/mysite/views.py
from django.shortcuts import render
def custom_404(request):
return render(request, '404.html', {}, status=404)
# mysite/mysite/templates/404.html
<h1>CUSTOM 404 PAGE</h1>不要忘记重新启动您的服务器。=P
目录结构应如下所示:
mysite
- mysite
- settings.py
- urls.py
- views.py
- templates
- 404.html
- polls
- templates
- pollshttps://stackoverflow.com/questions/15499032
复制相似问题