javascript - 如何从 django 视图中的 HTML 用户输入中获取价值?
问题描述
大家好,我有一个 HTML 表单,如下所示:点击帖子后,我将其重定向到 views.py。谁能告诉我如何将表单所有字段的字段值放入views.py。这是我想要键值对中的字段值的输出,如上图所示,即 API=hello&Area=hello1 等等...
我知道我们可以使用这个 if html 来做到这一点:
<div class="form-group col-md-2">
<label for="param">TAF Parameter</label>
<input type="text" name="inputdata_API" class="form-control" id="inputapi_param" value="API" readonly>
</div>
并查看:
def register(request):
api = request.GET.get['inputdata_API']
但在那种情况下,我必须在我的视图中写下每一个输入名称
解决方案
为了在没有个人访问的情况下获取表单输入,Django 提供了 ModelForm
对于简历:
定义一个模型来存储您的表单信息
类 MyModel(models.Model): api = models.CharField() # ...
定义链接到前一个模型的模型窗体
from django import forms class MyModelForm(forms.Form): class Meta: model = MyModel fields = ['api', # all others fields you want to display]
在里面
views.py
from django.http import JsonResponse from django.shortcuts import redirect def register(request): if request.method == 'POST': # Instanciate the form with posted data form = MyModelFor(request.POST) # Check if form is valid if form.is_valid: # Create a new MyModel object if the form is valid form.save() # This is the most benefit line, save you from request.POST['field_name'] # You can eventually return to the same page return redirect('.') else: # The form is invalid return a json response return JsonResponse({"Error": "Form is invalid"}, status=400)
最后在模板中渲染表单字段,如下所示:
<form action="{% url 'url_to_register' %}" method="post" novalidate> {% csrf_token %} {{ form.as_p }} <button type="submit" class="btn btn-success">Register</button> </form>
但是这种方法的缺点是前端表单的样式: 您需要在正确的位置添加一些 Bootstrap 类,例如,让它看起来很好看,它是一个对应物......
Django 表单文档。
推荐阅读
- spring-boot - kafka 什么时候会重试处理未确认的消息?
- javascript - Angular 8 - 动画图像 src 更改
- java - 无法使用 docker-compose 运行 docker 应用程序 - 显示 NoClassDefFoundError: io/dropwizard/Application
- apache-flink - Flink 的架构内部
- c++ - 构造函数初始化指针数据成员的问题
- python - 按降序计算值列表的频率及其相关的值百分比更高
- javascript - 如何使用 array.map 方法从数组数组中返回对象数组?
- android - java.lang.RuntimeException:在错误的 GL 上下文中应用效果!在 android 应用程序中同时在图像上应用过滤器
- c# - C# Selenium 在不同的机器上不一致
- java - @Query 和 DTO 之间的映射 Clob