Python 在没有django collectstatic的情况下访问文件夹中的图像

Python 在没有django collectstatic的情况下访问文件夹中的图像,python,django,backend,Python,Django,Backend,我有一个django web应用程序,它创建了一个调用外部python脚本的屏幕截图 但我很担心,因为每次运行脚本时,我都会做一个/managecollectstatic,以查看应用程序上的屏幕截图。很快,我就可以同时运行大量的静态数据,这看起来很糟糕 我怎样才能拥有一个文件夹,在那里我可以放置屏幕,然后使用django访问它,而不必将其作为静态文件加载 我当前的项目看起来像: mysite ├── static │ └── screenshots | └── *.png └──

我有一个django web应用程序,它创建了一个调用外部python脚本的屏幕截图

但我很担心,因为每次运行脚本时,我都会做一个
/managecollectstatic
,以查看应用程序上的屏幕截图。很快,我就可以同时运行大量的静态数据,这看起来很糟糕

我怎样才能拥有一个文件夹,在那里我可以放置屏幕,然后使用django访问它,而不必将其作为静态文件加载

我当前的项目看起来像:

mysite
├── static
│   └── screenshots
|       └── *.png
└── crowlers
    ├── wrapper.py
    └── screenshot_robot.py

/opt/scripts/my_script.sh # launch wrapper.py and collectstatic
在my
/manage collectstatic
的静态/屏幕截图中创建wrapper.py.pngs以获取它们

根据第一个答案进行编辑:

我最终在django项目的根目录下创建了一个媒体目录

设置.py中添加以下内容:

MEDIA_ROOT = os.path.join(BASE_DIR, "media")

MEDIA_URL = '/media/'
url.py中(使其在开发状态下与DEBUG=True一起工作):

来自django.conf导入设置的

##调试东西以服务于静态媒体
如果设置为.DEBUG:
urlpatterns+=模式(“”,
(r“^media/(?P.*)”、“django.views.static.service”、{“document\u root”:settings.media\u root}),

静态
文件用于项目的资产-css、js、图像等,这些文件是项目本身的一部分,您希望保存在git/mercurial/Answery scc中。上传/动态/生成的内容应该放在medias文件夹中(
设置.MEDIA\u ROOT
).

我认为将您的屏幕截图放在
媒体根目录下更为合理。我似乎确实需要这样做。媒体根目录默认可用吗,或者我必须编辑我的网站设置吗?我应该在模板中包括哪些内容,如
{%load staticfiles%}
?我发现了它,我会确认它在我的案例中是否起作用。我认为这在我的记忆中已经基本涵盖了;从我的记忆中,Deafolts通常足够好。作为一个子问题:显然我的屏幕应该是只读的,默认的
媒体根目录
在这方面安全吗?你说的“只读”是什么意思
MEDIA\u ROOT
文件夹只是一个文件夹,就像
STATIC\u ROOT
文件夹一样,它没有任何区别。wrt/访问限制,这是一个系统设置问题。好吧,我不好。反正我把
MEDIA\u ROOT='[django\u ROOT]/在设置中,media/
media\u URL='/media/'
重新启动了开发服务器,但
没有显示任何图像。图像位于正确的文件夹
[django\u root]/media/screenshots/my\u image.png
和正确的名称btw中。在我的模板中,我有
目录也有正确的
drwxrwxr-x 3[me][me]4096 déc.11 13:43媒体
我可以通过添加
url(r'^media/(?P.*)$),'django.views.static.service',{'document_root':settings.media_root})找到我做错了什么
url.py
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}),