创建视图——基于函数的视图 Django

873 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第25天,点击查看活动详情

创建视图是指在数据库中创建表的实例的视图(逻辑)。这就像从用户那里获取输入并将其存储在指定的表中一样。Django 为 Create Views 提供了非凡的支持,但让我们检查一下它是如何通过基于函数的视图手动完成的。本文围绕 Create View 展开,其中涉及 Django Forms、Django Models 等概念。对于创建视图,我们需要一个包含一些模型和表单的项目,这些模型和表单将用于创建该模型的实例。

Django 创建视图——基于函数的视图

如何使用示例创建和使用创建视图的说明。考虑一个名为的项目geeksforgeeks,其中包含一个名为geeks.

在你有一个项目和一个应用程序之后,让我们创建一个模型,我们将通过我们的视图创建它的实例。在geeks/models.py,

# 从内置库中导入标准 Django 模型
from django.db import models

# 声明一个名为“GeeksModel”的新模型
class GeeksModel(models.Model):

	# 模型字段
	title = models.CharField(max_length = 200)
	description = models.TextField()

	# 用标题名称重命名模型的实例
	def __str__(self):
		return self.title

创建此模型后,我们需要运行两个命令才能为其创建数据库。

Python manage.py makemigrations
Python manage.py migrate

现在我们将为这个模型创建一个 Django ModelForm。``在 geeks 文件夹中创建一个 forms.py 文件,

from django import forms
from .models import GeeksModel


# 创建表单
class GeeksForm(forms.ModelForm):

	# 创建 meta class
	class Meta:
		# 指定要使用的模型
		model = GeeksModel

		# 指定要使用的字段
		fields = [
			"title",
			"description",
		]

现在我们已经为后端做好了一切准备。让我们为其创建一个视图和模板。在geeks/views.py,

from django.shortcuts import render

# 表格的相对导入
from .models import GeeksModel
from .forms import GeeksForm


def create_view(request):
	# 以字段名称为键的初始数据字典
	context ={}

	# 在初始化期间添加字典
	form = GeeksForm(request.POST or None)
	if form.is_valid():
		form.save()
		
	context['form']= form
	return render(request, "create_view.html", context)

在 中创建模板templates/create_view.html

<form method="POST" enctype="multipart/form-data">

	<!-- Security token -->
	{% csrf_token %}

	<!-- Using the formset -->
	{{ form.as_p }}
	
	<input type="submit" value="Submit">
</form>

让我们检查一下**http://localhost:8000/**

django-create-view-function-based

现在让我们尝试以这种形式输入数据

创建视图功能输入数据

创建视图正在工作,我们可以使用通过管理面板创建的实例来验证它。

django-mopdel-created-create-view

这样就可以在 Django 中为模型创建创建视图。