Django使用提交按钮发布文本而不使用输入标签

Posted

技术标签:

【中文标题】Django使用提交按钮发布文本而不使用输入标签【英文标题】:Django post text using submit button without using input tag 【发布时间】:2018-09-16 08:29:50 【问题描述】:

我有一个 django 模板,其中有一个我从用户那里获取输入的表单。

template.html

% extends 'header.html' %
% load staticfiles %

% block content %

    <h3> Questtion</h3>


    <img src="/media/ image " >
    <br> <br>
    <h3> Responses </h3>
<form  method="post" action="/tools/submit">
    % csrf_token  %
    <input type="text" name="first_response" placeholder="First Response"  size="40" required>
    <input type="text" name="second_response" placeholder="Second Response"  size="40" required> 
    <input type="text" name="third_response" placeholder="Third Response"  size="40" required> 
    <input type="text" name="fourth_response" placeholder="Fourth Response"  size="40" required>
    <input type="text" name="fifth_response" placeholder="Fifth Response"  size="40" required>

    <button type="submit" >Submit</button>
</form>   

% endblock %

输入的文本很容易通过views.py

中的以下方法得到
def post_form(request):
    if request.method == 'POST':
        first_response = request.POST.get('first_response')
        second_response = request.POST.get('second_response')
        third_response = request.POST.get('third_response')
        fourth_response = request.POST.get('fourth_response')
        fifth_response = request.POST.get('fifth_response')
        image_name = # HOW TO GET  image  name here ?

但我也想在点击提交按钮时从&lt;img src="/media/ image " &gt; 发布 image 。我怎样才能做到这一点 ?

【问题讨论】:

你为什么要首先发布从后端提供的东西? 【参考方案1】:

在html中

<form  method="post" action="/tools/submit" enctype="multipart/form-data">

<input type="file" name="image" placeholder="Image Response"  size="40" required>

在视图中

fifth_response = request.FILES.get('image')

【讨论】:

【参考方案2】:

在您的 html 模板表单中添加这一行

<input type="hidden" name="question" value="/media/ image ">

在 Django 视图中只需获取图像路径

fifth_response = request.POST.get('question')

由于图像已经在您的服务器上,我认为您不希望将其作为文件保存。所以获取文件路径就足够了。

【讨论】:

以上是关于Django使用提交按钮发布文本而不使用输入标签的主要内容,如果未能解决你的问题,请参考以下文章

如何在视图中点击提交按钮而不必先关闭键盘?

python测试开发django-24.表单提交之get请求

如何使用两个提交按钮,并区分使用哪个提交表单? [复制]

使用 django 动态添加输入字段并将数据保存到数据库

Html-Input标签

Html-Input标签