Eda*_*aor 13 python django web-applications
背景:
我第一次开始使用Django,这也是我第一次涉足网络开发.我只是陷入了整个"服务静态媒体"的问题.在花了一段时间查看所有文档和StackOverflow问题后,我想我理解它应该如何工作(即MEDIA_ROOT,MEDIA_URL,更新urls文件等).
我的问题:
好的,所以这是我不确定的部分.Django应用程序应该是"可插拔的",即我可以将应用程序从一个项目移动到另一个项目.那么,这些应用程序应该如何捆绑静态媒体?
例如,假设我有一个"foo"应用程序,它具有加载一些css /图像文件的模板.我应该把这些文件放在哪里,以便在我加入应用程序后它们会自动获得服务?
我看到的唯一解决方案是,安装应用程序必须包括将其静态媒体复制到您自己的服务器上的某个位置的额外步骤.
这是接受的方式吗?它包括一个额外的步骤,但也许这是处理web-dev的标准(我是新的,所以我真的不知道).
此外,如果是这样,有没有一种标准的方法来收集我所有的静态媒体,以便很容易知道我需要服务什么?(即,在应用程序中有一个名为"media"的文件夹或其他内容是否标准?).
谢谢,
惯例是将静态媒体放在app中的media/appname /或static/appname /中(类似于模板).
对于在项目中使用媒体的应用程序,我强烈建议使用django-staticfiles.它将通过替换django.views.static.serve的视图自动为开发中的媒体(包括应用程序中的媒体)提供服务,并附带build_static管理命令,该命令将所有应用程序中的媒体复制到单个目录中以供生产服务.
更新:django-staticfiles已成为Django 1.3的一部分.它现在希望应用媒体存在于应用的"静态/"子目录中,而不是"媒体/".管理命令现在是"收集静止".
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |