2013-10-06 58 views
1

我安装了Django,它的工作原理。我设置它,所以它使用我的MySQL数据库,我开始了一个项目。到现在为止还挺好。Django给我一个404错误

我也跟着上设置你的第一个Django应用程序在本教程在

https://docs.djangoproject.com/en/dev/intro/tutorial01/

这是在建立在那里的一切实际上已经为你打造一个现有的投票前的应用程序的教程。数据库结构甚至已经被处理。

我跑:

python manage.py startapp polls

python manage.py sql polls

python manage.py syncdb

我没有收到任何成功的消息,所以我走进我的phpmyadmin和万岁!我的数据库中有新的表格和行。

他们的教程,然后告诉我跑:

python manage.py shell 

和我会看到一些数据库的东西,但我没有。为什么会这样呢?我忽略了它,继续前进了第二步。我仍然没有将我的settings.py中的DEBUG设置为False,所以我做到了。只有得到500错误。

后一些挖我读我需要添加:

ALLOWED_HOSTS = ['my ip address']; 

我这样做,现在运行后:

python manage.py runserver myip:8000 

当我尝试访问的Django在我的浏览器,我收到了

未找到

请求的URL/在这个服务器上没找到。

明显/改变到一个不同的位置时,导航到这些地方,但重点是我得到一个404无论如何。

因此,我看看我的终端,并在终端上显示一条黄色消息。

“GET/HTTP/1.1” 404 74

并且存在这样的1个消息我试图访问的每个地方。

我想有一个Python包,我没有安装在我的服务器上?

我不想使用ALLOWED_HOSTS ['*']我看到这是不好的做法。我做了它,它产生的结果与使用我的IP地址代替*(我只是想添加额外的信息,以防它有用)

+0

您的看法是否会引发404错误?是否没有错误信息? – bozdoz

+0

我在浏览器中查看说, “未找到(换行)在此服务器上未找到请求的URL /”。这是大多数404s的样子。 在我的终端,它实际上说404(请参阅上文) – gregor

+0

它可能是我有一个错误的WSGI脚本路径。日志在哪里检查这是什么? – gregor

回答

0

如果你想使用数据库shell,你应该在您的文章运行dbshell命令,而不是作为shell,像这样:

python manage.py dbshell 

如果运行shell,你会得到一个Python外壳,在那里你可以轻松地导入和检查项目的Python对象。

在您的本地电脑上,最好在您的settings.py中有DEBUG = True。这样你不需要打扰ALLOWED_HOSTS,因为在调试模式下所有的主机都被允许。其次,当您在调试模式下遇到404错误时,该页面将显示您可以尝试的有效URL。

Django教程当然有效。 如果您错过了某个步骤或错误地输入了某些内容,则唯一方法是无效。如果你重新开始并多加关注,我认为它会起作用。

+0

安装了两次。每次都有同样的问题。我完全遵循了一切。你是否积极,该教程不只是假设每个人都知道一些东西而放弃它?我们可以整天说这样的话。事情是我已经看到这个问题遍布网络,但我似乎无法找到答案。因此,不要给出一个通用的广泛答案,可能有助于排查问题。不管怎么说,还是要谢谢你。我知道这个教程没有提到添加allowed_hosts或者包含你的项目conf。这是两个相当大的信息。所以难道还有其他可能被遗漏的机会吗? – gregor

+0

无论我将Debug设置为true,我所得到的全部是**当然,您还没有真正做过任何工作。接下来该做什么: 如果您打算使用数据库,请在firstweb/settings.py中编辑DATABASES设置。 通过运行python manage.py startapp [appname]来启动您的第一个应用程序。 您看到此消息是因为您在Django设置文件中有DEBUG = True,并且您尚未配置任何URL。开始工作!** – gregor

+0

我已经全部阅读开始我的项目,并添加了我的数据库工作。我在OP中提到了所有这些。我想我应该在某处设置一个网址,然后我会研究这个网址。 – gregor