Django Python 使用 ModelForm 示例从模型创建表单

本文将为您提供 django python 使用 modelform 从模型创建表单的示例。本文详细介绍了 django python 从具有 modelform 所有字段的模型创建表单。

我们将帮助您提供 django python 使用 modelform 应用程序从模型创建表单的示例。这是 django python 的简单示例,使用 modelform 示例从模型创建表单。

因此,Django ModelForm 是一个用于将模型直接转换为 Django 表单的类。

让我们看看下面的示例,我们将使用 modelform 示例实现 django python 从模型创建表单。
第 1 步:创建项目

在这一步中,我们将使用 django-admin 创建一个新的 django 项目。返回命令行界面并运行以下命令:

django-admin startproject exampleapp

第 2 步:创建应用程序

python3 manage.py startapp blog

接下来需要在settings.py文件中添加如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

第 3 步:创建模型

在这一步中,创建一个模型并将其映射到 Django 表单。现在,当我们准备好项目后,在 blog/models.py 中创建一个模型。

from django.db import models

# declare a new model with a name "BlogModel"
class BlogModel(models.Model):
        # fields of the model
    title = models.CharField(max_length = 200)
    description = models.TextField()
    last_modified = models.DateTimeField(auto_now_add = True)

        # renames the instances of the model
        # with their title name
    def __str__(self):
        return self.title

现在运行下面的命令来迁移你的模型。

python manage.py makemigrations
python manage.py migrate

第 4 步:创建一个 FormClass

接下来在本节中直接为此模型创建一个表单,进入 blog/forms.py 并输入以下代码, blog/forms.py

from django import forms

# import BlogModel from models.py
from .models import BlogModel

# create a ModelForm
class BlogForm(forms.ModelForm):
    # specify the name of model to use
    class Meta:
        model = BlogModel
        fields = "__all__"

第 5 步:创建视图

现在要渲染这个表单,我们需要创建用于显示表单的视图和模板。在 blog/views.py 中,创建一个视图
blog/views.py

from django.shortcuts import render
from .forms import BlogForm

def home_view(request):
    context ={}

    # create object of form
    form = BlogForm(request.POST or None)
    
    # check if form data is valid
    if form.is_valid():
        # save the form data to model
        form.save()

    context['form']= form
    return render(request, "home.html", context)

第 6 步:创建模板

接下来,打开 home.html 文件并添加:

<h2>Django Python Create Forms From Models With ModelForm - Tuts-Station.com</h2>

<form method="POST">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Submit">
</form>

第 7 步:创建 URL

在本节中,我们将创建 url 来访问我们的视图。转到 urls.py blog/urls.py 文件并按如下方式更新它:
blog/urls.py

from django.urls import path
from blog import views

urlpatterns = [
    path('', views.home_view),
]

接下来,我们将要求修改您的根 preoject 文件夹的 urls.py 以更新文件。
exampleapp/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

现在让我们通过运行来显示表单

python manage.py runserver

输出

django-python-create-forms-from-models-with-modelform-example.html

发表评论

邮箱地址不会被公开。 必填项已用*标注