对于Django,Flask的路线和POST方法

时间:2016-12-10 19:55:36

标签: python django methods flask routes

我在Flask中有这段代码

@app.route('/search', methods = ['POST'])
def search():
   if request.method == 'POST':
       results_arr = []
       img_path = request.form.get('img')

如何在Django或我可以阅读的内容中进行此操作?

1 个答案:

答案 0 :(得分:0)

烧瓶片段中的路线将放在urls.py中,其条目可能如下所示

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index , name='index'),
    url(r'^search/$', views.search, name='search'),
]

并且在views.py中您将拥有一个函数,如下所示,假设相应的HTML表单具有enctype multipart/form-data并且html是文件上传。

<input type="file" name="myimage">

假设您在设置中设置了MEDIA_URLMEDIA_ROOT,相应的功能可以翻译为:

from django.shortcuts import render
from django.conf import settings
from django.core.files.storage import FileSystemStorage    

def search(request):
    if request.method == 'POST' and request.FILES['myimage']:
        results_arr = []
        imagefile = request.FILES['myimage']
        fs = FileSystemStorage()
        filename = fs.save(imagefile.name, imagefile)
        file_url = fs.url(filename)
        return render(request, 'templateToRender.html', { 'filepath': file_url }) # in case you want to show the user the URL of the upload.

您还可以使用forms.py文档here

中提供的示例