烧瓶上传中的UPLOADS_DEFAULT_URL配置值是什么意思?

时间:2015-07-23 06:34:27

标签: python flask flask-uploads

来自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。文本说如果你没有指定它,上传将由烧瓶内部提供。问题:

  1. 如果我没有指定网址,那么他们将通过烧瓶提供什么网址?
  2. 如果我确定指定了什么瓶子呢?如何使用它?
  3. 所以回答我的问题更容易:我不知道python是如何与web服务器(如apache或nginx)进行交互的。我确实理解原则上你希望这些web服务器能够为你的python应用程序提供前端/代理以实现可伸缩性/加载,但我不知道如何完成这些工作。如果我知道,上面的信息对我来说可能更明显。

    从实际角度来看:我有别人的python/flask app,而不是很多使用python的经验。上面的参数需要在the config files中指定。我启动并运行了应用程序,我没有指定此特定参数,上传工作正常。我想知道还有什么可能因为没有指定URL而破坏。

1 个答案:

答案 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中使用此功能。在生产图片中,静态应由nginxapache

提供