回答
Django不自己提供靜態文件。你必須告訴它文件在哪裏。
ADMIN_MEDIA_PREFIX in the settings.py將指向Django在正確的位置。
由於您使用的是開發版本,因此您需要dev-specific document for static files how-to。亞當的鏈接會引導你到1.2版本。
好的答案,但現在已棄用並缺席settings.py。請閱讀下面的更多最新解決方案。 – RussellStewart 2013-11-04 00:00:55
ADMIN_MEDIA_PREFIX
現已棄用,請改用STATIC_URL
。在settings.py中設置STATIC_URL = '/static/'
應該完成這項工作。嘗試:
import os.path import sys
PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__))
然後:
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'
上的Django 1.4阿爾法預SVN-16920工程。
這對我不起作用。 – 2012-09-28 17:40:12
這也不適用於我。我注意到如果我在靜態/ css /內部移動(手動)文件夾'static/admin',那麼我可以訪問css文件。所以看起來我可以訪問css文件,只要它們在'static/files'裏面,但是collectstatic不會把它們放在那裏。當然,手動移動文件夾不起作用,因爲模板繼續指向'static/admin'。 – 2012-11-16 13:45:25
試圖運行使用Django v1.2創建的管理界面,在1.3上進行測試,然後在v1.4上重新部署時爲我工作。運行Ubuntu 12.04 LTE – 2012-12-15 02:35:55
在/project_name/project_name/settings.py
需要設置STATIC_URL
要告訴你的站點使用哪種網址靜態文件。
然後將STATIC_ROOT
設置爲文件系統上的某個文件夾,與您在STATICFILES_DIRS
列表中列出的任何目錄不同。
一旦設置了STATICFILES_ROOT
,您將從項目目錄運行python manage.py collectstatic
。
這將複製所有管理靜態文件和STATICFILES_DIRS
列表中列出的任何其他文件夾中的所有文件。基本上,這會將所有靜態文件放在一個位置,以便您在部署網站時將它們移動到CDN。如果你和我一樣,沒有一個CDN,那麼你有兩種選擇:
- 添加設置爲
STATIC_ROOT
爲STATICFILES_DIRS
列表中的文件夾。這將允許django中的靜態文件查找器查找所有靜態文件。 - 將靜態文件的整個文件夾移動到文件系統的其他位置,並指示
STATICFILES_DIRS
包含該新位置。
我對這個答案的安全性沒有評論,它只是我能夠用我的web服務器開發小型項目的方式。我希望你會想要一個CDN作爲Django的建議,如果你正在做更大規模的任何事情。
更新: 我剛剛遇到這個問題,這種方法並沒有完全做我想你想要的。在我運行collectstatic
後,結果爲我工作的是我剛剛將它放入STATICFILES_ROOT
的管理靜態文件複製到我用於我自己的靜態文件的目錄中。這解決了我的問題。
您的更新也適用於我。謝謝! – 2018-01-21 05:30:29
我遇到了這個問題以及Django書籍教程。 在第5章|安裝模型時,本書在提到默認INSTALLED_APPS- 時指出:「通過在其前面放置一個哈希字符(#)臨時註釋掉所有這六個字符串。」 http://www.djangobook.com/en/2.0/chapter05.html
然後,在第6章,這本書告訴讀者這些取消註釋6線 - 4「我們現在在第5章取消其註釋,註釋了這四個INSTALLED_APPS條目註釋。」
但statcifiles線是什麼是需要恢復CSS管理頁面,所以取消該 「django.contrib.staticfiles」,
如上所示,在settings.py文件中取消註釋'django.contrib.staticfiles'也適用於我。 'django.contrib.staticfiles'應該默認存在於INSTALLED_APPS下的settings.py文件中。感謝克里斯的建議。 – user2471242 2013-06-10 14:08:14
也從Django Book中得到了。這一個字符的刪除做到了。 – 2013-07-28 22:44:46
我看了其他幾個線程試圖解決這一問題......使出與其他線程中的別名一樣。 這假定您自己的自定義應用程序正確提供靜態文件,這將表明您的STATIC_ROOT和STATIC_URL具有正確的設置。
STATIC_ROOT = ''
STATIC_URL = '/static/'
然後(從靜態目錄):
[email protected]:/srv/www/mysite.com/app_folder/static$ sudo ln -s /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/ admin
希望這可以幫助別人......有關於這個話題有很多的線程。 :(
這是答案的作品像魅力謝謝你taylor.well完成 – Spikie 2017-03-03 12:18:26
確保'django.contrib.staticfiles'
在你INSTALLED_APPS
在你的settings.py
如果你使用Apache服務器來承載你的Django的網站,你需要確保靜態別名點到你的/目錄網站/ site_media/static /。如果你的靜態文件在/ site/site/site_media/static /目錄下,以前的Apache別名配置將不起作用
除了許多其他有用的答案之外,一個尚未注意到的問題從Django 1.3升級到1.6後,我的靜態文件目錄有一個到django admin靜態文件的錯誤符號鏈接。
我settings.py與配置:
STATICFILES_DIRS = (
'/var/www/static/my-dev',
)
的Django現在希望找到的網址 /管理/下的管理員靜態文件。
我做了一個符號鏈接/var/www/static/my-dev/admin
其設置爲:
admin -> /usr/local/lib/python2.7/dist-packages/django/contrib/admin/media/
這個位置不再在Django 1.6存在,所以我的鏈接更新爲:
admin -> /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/
現在我的管理網站正常工作。
雖然遵循Django教程,但我遇到了類似的問題,在我的情況下,問題在於提供css文件時開發服務器使用的mimetype。
將mimeType服務是「應用程序/ x-CSS」,這導致了在Chrome以下警告消息(在的開發工具的「網絡」標籤):
資源解釋爲樣式表,但用MIME轉移鍵入 應用程序/ x-CSS:「http://127.0.0.1:8000/static/admin/css/base.css」
,我已經找到解決方法:
0:通過添加以下行Django的web應用程序的manage.py文件送達改變MIME類型注:爲我工作使用Django 1.7.4關於Python 2.7和Chrome 40.0
同一類問題的同時發展在Django-1.10.5和python-2.7.13網站我遇到過。但在我的firefox-51和chrome中,登錄頁面能夠獲得css,但仍然沒有樣式。但奇怪的是它在IE-8上工作..
我試過做這裏提到的每一件可能的事情,並適合我的一套sw版本。沒有工作。
但是當我試圖在其他系統中的同一站點其中有蟒蛇-2.7.8,它的工作..
剛剛發佈,如果它可以幫助別人......
編輯:後來我發現在蟒蛇-2.7.13,寫在settings.py以下兩行(加清除瀏覽器的緩存)所做的伎倆
import mimetypes
mimetypes.add_type("text/css", ".css", True)
如果你有一個值settings.py中的STATICFILES_DIRS設置和聲明的文件夾不存在或錯誤的位置會導致管理員有沒有造型 e.g 通過定義 STATICFILES_DIRS =(os.path.join(BASE_DIR,「靜態」)) 和靜態文件夾不存在
- 1. django:管理網站沒有格式化
- 2. 爲什麼我的xdebug沒有樣式?
- 3. 爲什麼Django管理站點限制爲301條目?
- 4. 爲什麼我的網站在Internet Explorer 8中沒有CSS樣式?
- 5. Django管理站點
- 6. Django管理樣式:更改「網站管理」和子標題
- 7. Django管理站點與mongodb
- 8. Django站點管理失敗
- 9. Django動態管理站點
- 10. Django管理css文件沒有呈現
- 11. Django管理站點的「Auth」部分中沒有「用戶」鏈接
- 12. 爲什麼最初沒有使用css轉換的ng樣式?
- 13. CSS樣式我的Django表
- 14. 爲什麼我的CSS沒有工作?
- 15. 資源管理器沒有加載Wordpress站點中的條件樣式表
- 16. Django管理站點模型沒有顯示
- 17. 爲什麼我的Django應用程序中的管理頁面沒有引用正確的CSS URL?
- 18. 我的MediaWiki站點不會將樣式表作爲文本/ css
- 19. 爲什麼我的文字沒有居中? (通過WordPress站點)
- 20. 爲什麼我的Sitecore資源管理器沒有「管理包」菜單
- 21. 有沒有辦法激活django管理網站沒有admin.py
- 22. 忽略Django管理站點的DEFAULT_CONTENT_TYPE?
- 23. MVT/MVC Django的管理站點
- 24. Django管理站點 - admin.py的位置
- 25. 過濾查詢的Django管理站點
- 26. 爲什麼我的Django博客管理界面沒有「博客文章」和「網站」
- 27. 爲什麼我沒有得到.css intellisense
- 28. SublimeCodeIntel沒有顯示我的CSS樣式
- 29. 爲什麼我的CSS樣式覆蓋了我的內聯樣式?
- 30. 爲什麼我的引導樣式沒有得到應用?
是否有引用的風格,不會被加載? – 2010-12-12 04:24:30
你需要配置dev服務器來提供靜態文件:http://docs.djangoproject.com/en/1.2/howto/static-files/ – 2010-12-12 04:29:52
@Pekka,是的,它是django的默認樣式,它在D :\ Python25 \ Lib \ site-packages \ django \ contrib \ admin \ media – zjm1126 2010-12-12 04:57:35