来自this page:
UPLOADS_DEFAULT_URL
如果您设置的服务器可以从中提供服务 UPLOADS_DEFAULT_DEST,然后在此处设置服务器的基本URL。继续 上面的例子,如果可以访问/ var / uploads http://localhost:5001,然后你会把它设置为 http://localhost:5001/和照片集的网址将以 http://localhost:5001/photos。包括尾部斜杠。
然而,你 不必设置任何_URL设置 - 如果不设置,那么它们 将由Flask在内部提供服务。他们就在那里,如果你有的话 繁重的上传流量,你可以拥有更快的生产服务器 Nginx或Lighttpd提供上传服务。
我不明白Flask如何使用UPLOADS_DEFAULT_URL。文本说如果你没有指定它,上传将由烧瓶内部提供。问题:
所以回答我的问题更容易:我不知道python是如何与web服务器(如apache或nginx)进行交互的。我确实理解原则上你希望这些web服务器能够为你的python应用程序提供前端/代理以实现可伸缩性/加载,但我不知道如何完成这些工作。如果我知道,上面的信息对我来说可能更明显。
从实际角度来看:我有别人的python/flask app,而不是很多使用python的经验。上面的参数需要在the config files中指定。我启动并运行了应用程序,我没有指定此特定参数,上传工作正常。我想知道还有什么可能因为没有指定URL而破坏。
答案 0 :(得分:0)
如果我没有指定网址,那么它们将由什么网址提供?
从文档我明白,如果你这样设置
UPLOADS_DEFAULT_DEST = '/var/uploads/'
UPLOADS_DEFAULT_URL = 'http://localhost:5000/'
然后,当您上传一组名为照片的照片时,会将其上传内容存储在/var/uploads/photos
。让我们假设它为/var/uploads/photos/test.jpg
。然后情况下,视频将以图片形式提供
http://localhost:5000/photos/test.jpg.
如果我确定指定了什么烧瓶呢?怎么用呢?
如果
UPLOADED_PHOTOS_DEST = '/var/mypics/'
UPLOADED_PHOTOS_URL = 'http://localhost:5000/'
然后,当您上传一组名为照片的照片时,会将其上传内容存储在/var/mypics/
。让我们假设它为/var/mypics/test.jpg
。然后情况下,视频将以图片形式提供
http://localhost:5000/test.jpg.
但我们不会在production
中使用此功能。在生产图片中,静态应由nginx
或apache