一位前端开发人员给了我一个由 html 表单组成的前端布局。我作为后端开发人员需要从表单中获取数据并将其存储在数据库中。我正在使用 django 2.0 版进行网站开发。我不想使用 django 表单,因为那样我将被迫对 html 代码进行大量更改。如何从 HTML 表单的输入字段中提取数据?
假设我们在 index.html
myapp/templates/index.html文件中有一个简单的 HTML 表单,
在表单中,数据必须仅使用 post 方法发送。
<form action="{% url 'myapp:update' %}" method="post">
<input type="text" name="first_field"/><br>
<input type="text" name="second_field"/><br><br>
<button type="submit" value="Submit"/>
</form>
表单的目的是更新数据库。
myapp/models.py
from django.db import models
class Person(models.Model):
first_name=models.CharField(max_length=30)
last_name=models.CharField(max_length=30)
我的应用程序/urls.py
from django.urls import path,include
from . import views
app_name='myapp'
urlpatterns = [
path('index/', views.index, name='index'),
path('update/', views.update, name='update'),
]
myapp/views.py
在 views.py 文件中,表单中的任何元素都可以使用
request.POST['nameOfTheFieldInTheForm']
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request, 'myapp/index.html', {})
def update(request):
# print('Inside update function')
if request.method=='POST':
# print("Inside post block")
first_field_data=request.POST['first_field']
second_field_data=request.POST['second_field']
x=Person(first_field=first_field_data,
second_field=second_field_data)
x.save()
return index(request)