Flask到Django的路径和POST方法

bvpmtnay  于 2023-03-04  发布在  Go
关注(0)|答案(1)|浏览(130)

我在 flask 里有一段代码

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

如何在Django中制作这个,或者我在哪里可以读到它?

cu6pst1q

cu6pst1q1#

flask片段中的路由将放在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中提供了一个示例

相关问题