未找到django admin url(404)

时间:2012-08-30 20:32:01

标签: django apache admin mod-wsgi

我是django初学者。

我在/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> 

我非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

Django在它自己的服务器下运行时有一些魔力可以帮助解决这个问题。在Apache等上部署时,您负责设置Apache或您正在使用的任何媒体服务器来提供管理文件。 Django文档在这个主题上相当不错。请参阅Django docs的以下链接。

这是一个非常普遍的问题。所以,不要心疼。如果您需要“deploy django admin”

的更多具体帮助,请使用Google

顺便说一句,我对我的项目使用“collectstatic”方法,并从s3存储桶中为它们提供服务。它工作得很好,似乎是一种非常普遍的做法。至少用Django 1.3。

答案 1 :(得分: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一样从Python安装中引用静态媒体。

相关问题