簡體   English   中英

Apache上的Django Admin靜態文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM