2012-08-30 70 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安裝中引用靜態媒體。