2012-08-30 81 views
0

我是一个django初学者。django admin url not found(404)

我收到以下消息/var/log/apache2/error.log(Apache是​​设置为调试级别)

[Thu Aug 30 16:15:11 2012] [info] mod_wsgi (pid=5616): Initializing Python. [Thu Aug 30 16:15:11 2012] [info] mod_wsgi (pid=5616): Attach interpreter ''. [Thu Aug 30 16:15:15 2012] [error] [client 172.24.113.130] File does not exist: /var/www/netvistra3 [Thu Aug 30 16:15:19 2012] [error] [client 172.24.113.130] File does not exist: /var/www/netvistra3

我WSGI文件位于/usr/local/django/netvistra3/apache/netvistra3.wsgi

管理员网站似乎只能用于django的嵌入式网络服务器。

段从apache2的虚拟目录的网站:

Alias /static/admin /usr/lib/python2.7/dist-packages/django/contrib/admin/static/admin 
    WSGIDaemonProcess netvistra3 user=pbensel group=staff threads=5 
    WSGIScriptAlias /netvistra3 /usr/local/django/netvistra/apache/netvistra3.wsgi 
    <Directory /usr/local/django/netvistra3> 
      WSGIScriptReloading On 
      WSGIProcessGroup netvistra3 
      WSGIApplicationGroup %{GLOBAL} 
      Order allow,deny 
      Allow from all 
    </Directory> 

我非常感谢所有帮助

+0

您的网站正在'/ netvistra3'上运行,但默认管理网址是'/ admin'。如果你尝试'/ netvistra3/admin /'会怎么样? –

回答

0

下的Django它自己的服务器,与这有助于运行时,有一点魔法。在Apache等上部署时,您需要负责设置Apache或您使用的任何媒体服务器来为管理文件提供服务。 Django文档在这个主题上非常好。请参阅Django docs的以下链接。

这是一个很常见的问题。所以,不要感觉不好。只是谷歌,如果你需要更多的具体帮助“部署django管理员”

顺便说一句,我使用“collectstatic”方法为我的项目和服务器从s3桶。它工作得很好,似乎是一个相当普遍的做法。至少在Django 1.3中。

+0

OP没有提到静态文件。他们的问题似乎在让管理网站工作。 –

+0

@DanielRoseman - 我想你是对的。但是,我相信问题是他们的静态文件。关于它在Django“嵌入式web服务器”下工作的线是一个很好的提示。这与我在部署我的第一个Django网站进行生产时遇到的问题相同。这是我使用的解决方案。所以,请投票给我所有你想要的。我只是想帮忙。 –

0

正如大卫所说,你必须采取正确的步骤来设置静态文件。您有:

Alias /static/admin /usr/lib/python2.7/dist-packages/django/contrib/admin/static/admin 

但缺少相应:

<Directory /usr/lib/python2.7/dist-packages/django/contrib/admin/static> 
Order allow, deny 
Allow from all 
</Directory> 

没有这样的,你会发现静态文件失败,并禁止错误。

我也会检查你是否正确设置了设置,以便在静态媒体可用的URL下面声明。

如果静态文件服务不正确,您将错过管理页面的所有操作,可能会被视为无法正常工作。

另外看看collectstatic并不总是一个好主意,像你在做的那样,从Python安装中引用静态媒体。