[英]Django Admin Static Files on Apache
關於同一主題,這里有很多帖子,我已經嘗試了盡可能多的帖子。 但是,我仍然有此錯誤。 對於我構建的Django網站,一切正常,除了用於admin的靜態文件。
版本:Django 1.6,Apache 2.4.7,Ubuntu 14.04
好的-我已經運行了manage.py collectstatic,這是靜態文件夾:
/srv/bahai-site/bahai-site/soul/static
它包含四個文件夾:1)管理員/ 2)引導程序/ 3)核心/和4)標志/
在這些文件夾中,我可以看到所有期望的靜態文件,並且它們包含我期望的代碼。
在網站本身上查看靜態文件時,/ static / core / css / desktop_992.css之類的東西會正確加載,而/static/admin/css/base.css會拋出404。
http.conf中的Apache指令:
Alias /static/ /srv/bahai-site/bahai-site/soul/static/
<Directory /srv/bahai-site/bahai-site/soul/static/>
Allow from all
</Directory>
WSGIScriptAlias / /srv/bahai-site/soul/soul/wsgi.py
WSGIPythonPath /srv/bahai-site/soul/soul:/srv/envelope/bahai-site/lib/python2.7/site-packages
<Directory /srv/bahai-site/soul/soul>
<Files wsgi.py>
Allow from all
</Files>
</Directory>
附帶的問題:注意WSGIScriptAlias和WSGIPythonPath僅包含一個“ bahai-site /”目錄級別,而不是“ / srv /”之后實際存在的兩個目錄級別。 為什么網站運行正常? 那不是應該引起問題嗎?
無論如何,我在這里做錯了什么? 如何啟動並運行這些管理靜態文件?
就pythonpath而言,我個人不將其包含在我的apache虛擬主機配置文件中,並且它可以工作。 也許不需要? 老實說,我對服務器安裝不是很精通。 絕對似乎是一個權限問題。
我將使用sudo運行collectstatic,然后還要確保靜態文件夾具有www-data group權限,這是apache開箱即用的權限。
如果需要幫助在Ubuntu中設置文件夾權限,請在此處查看此鏈接。 https://askubuntu.com/questions/244406/how-do-i-give-www-data-user-to-a-folder-in-my-home-folder
問題是我用競爭指令為Apache更新了兩個不同的配置文件。
其他初學者注意事項:
指令(例如...之類的東西)可以放在apache2根目錄下的任何文件中-在我的情況下,它是/ etc / apache2 /中的任何文件。 (對高級用戶的問題:這僅適用於Ubuntu?還是幾乎所有的Linux / Unix?)這會使您感到困惑,因為,如果您使用多個在線文章/文檔中的信息來解決問題,則可能會有各種各樣的麻煩。人們的Apache配置首選項/樣式。 因此,我的問題。
作為一個初學者,您可能期望看到某種單一位置,可以將您的配置/自定義(在本例中為指令)放入其中。 在Apache上並非如此。 您可以將任何這些放置在任何地方。 一旦您提高了對Apache的知識,這可能會很好,但是剛開始時很爛。
我的解決方法是瀏覽/ etc / apache2 /文件夾中所有涉及的文件,並將所有規則合並到一個位置。 這導致我刪除重復/沖突的規則,從而解決了問題。
現在我想我需要和治療師談談...。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.