我发现了很多关于如何做到这一点的不同示例,它们在设置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