我發現了很多關於如何做到這一點的不同示例,它們在設置MEDIA_URL,STATIC_URL,MEDIA_ROOT和MEDIA_URL時都略有不同。我的項目文件結構如下:用Django鏈接到樣式表
myproject/
images/ (user-uploaded)
media/ (empty so far)
settings.py
static/
css/
styles.css
fonts/
templates/
auth/
base.html
login.html
index.html
urls.py
當然,根目錄下有應用程序目錄。對於我的圖像,顯示在指數模板,我這樣做:
urls.py:
from django.conf import settings
(r'%s(?P<path>.*)' % settings.MEDIA_URL[1:], 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
settings.py(這些是默認):
MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'
網站我正在製作的只是一個頁面的前端。如何讓樣式表正確鏈接?我不確定所有這些目錄設置之間的區別是什麼,或者爲什麼我會用一個而不是另一個......或者什麼最好的方法(如果有的話)是結構化整個事情,在哪裏放置CSS, JavaScript,字體,靜態圖像,用戶上傳的圖像等。
你甚至都不需要'MEDIA_URL'和'STATIC_URL'完整的URL路徑,你可以用「/媒體/」和「/靜/」。使用os絕對是最好的方法。 –
@藝術 - 這是說'OS'沒有被定義... – katherine
好吧,從來沒有...不知道多少Python,但添加進口操作系統,在頂部的sys固定它。這意味着什麼,因爲部署該網站的生活?這是否會被打破? – katherine