我想要喜欢Django,但是开发环境中的静态和媒体文件业务让我疯狂.请把我从愚蠢中解救出来.
我在我的开发机器上.media我的项目目录的根目录中有文件夹.
在settings.py我有:MEDIA_ROOT = ''和MEDIA_URL = '/media/'.
在urls.py我有:
if settings.DEBUG:
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$',
'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, }),
)
Run Code Online (Sandbox Code Playgroud)
但我获得媒体文件的唯一方法是参考/media/media/例如
<img src="/media/media/image.png" />.
我期待(并希望)
<img src="/media/image.png" />
谁能告诉我这里发生了什么,并给我一个简单的方法来设置媒体文件处理?
非常感谢你.
@Timmy O'Mahony - 谢谢!史诗般的帖子,非常清楚.但它留下了几个问题:
(1)我必须用/media/和/static/,不media/和static/的MEDIA_URL和与STATIC_URL-我这么想吗?
(2)如果collectstatic软管/static/,你在哪里放置网站级CSS,例如网站的CSS文件?/static/显然不在.
(3)我将它们放在项目根目录下的"_"目录中并设置STATICFILES_DIRS为指向它 - 这似乎是开发服务器获取其静态文件的地方,尽管有urlpatterns指令.如果这是错误的,你在开发过程中将网站级CSS放在哪里,以及collectstatic修改它们时的工作流程是什么- 你是否必须在一个地方编辑它们,并在每次编辑后将它们收集到其他地方?
(录取 - 我对SVN不是很熟悉,但建议你熟悉它.)
我经常删除工作副本中的文件或目录.这在Cornerstone中显示为"失踪".提交工作副本会留下这些"鬼"文件(我可以理解你有一天可能会想要它们,但我希望它们不在活动文件列表中,至少).
有一个大的红色"删除"按钮,邀请您删除鬼魂.但是在下次提交时,我被告知操作无法完成.这似乎是那样的.选择"清除"会通知我该文件夹不是Subversion工作副本.我不能再使用我的存储库了.
有人可以请一些亮点吗?
谢谢