我有一个django Web应用程序,它创建了一个调用外部python脚本的屏幕截图。
但是我担心,因为每次运行脚本时我都会./manage collectstatic
查看我的应用程序的屏幕截图。不久,我可以同时进行大量的收集活动,看起来很糟糕。
如何设置一个文件夹,我可以放置屏幕,然后使用django访问它,而不必将其作为静态文件加载?
我目前的项目如下:
mysite
├── static
│ └── screenshots
| └── *.png
└── crowlers
├── wrapper.py
└── screenshot_robot.py
/opt/scripts/my_script.sh # launch wrapper.py and collectstatic
在我的./manage collectstatic
的静态/屏幕截图中使用wrapper.py创建.pngs来获取它们。
根据第一回答编辑:
我终于在我的django项目的根目录下创建了一个媒体目录
在 settings.py :
中添加以下内容MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'
在 urls.py (在开发状态下使其与DEBUG = True一起使用):
from django.conf import settings
## debug stuff to serve static media
if settings.DEBUG:
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
答案 0 :(得分:2)
static
文件用于项目的资产 - css,js,images等 - ,IOW是项目本身的一部分,你想保留你的git / mercurial / scc。上传/动态/生成的内容应该转到medias文件夹(settings.MEDIA_ROOT
)。