Django HTML表单实例应用

Django HTML表单是Web开发中非常重要的一个部分,用于收集用户信息或者输入数据。在这篇文章中,我们将详细介绍Django HTML表单实例应用的方法并提供代码示例。

创建Django项目

首先,我们需要创建一个Django项目。如果没有安装Django,可以先进行安装。

django-admin startproject myproject

创建应用并配置路由

接下来,我们创建一个新的应用并配置路由。在终端运行以下命令:

python manage.py startapp myapp

然后,在myproject/myproject/urls.py文件中,添加以下代码:

from django.urls import path, include

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

在myapp文件夹中,创建urls.py文件,并添加以下代码:

from django.urls import path
from . import views


urlpatterns = [
    path('', views.index, name='index'),
]

这个路由设置将使得我们可以在http://localhost:8000/ 上访问我们的表单。

创建表单模型

下一步,我们需要创建表单模型。在myapp/models.py文件中,添加以下代码:

from django.db import models

class Contact(models.Model):
    name = models.CharField(max_length=200)
    subject = models.CharField(max_length=200)
    message = models.TextField()

    def __str__(self):
        return self.name

在这个模型中,我们定义了三个字段:name,subject和message。name和subject都是CharField,其可以存储最大长度为200个字符的文本,而message是一个TextField,其也可以存储多行文本。

创建表单视图

接下来,我们需要创建表单视图。在myapp/views.py文件中,添加以下代码:

from django.shortcuts import render
from django.http import HttpResponseRedirect
from .models import Contact
from .forms import ContactForm

def index(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            subject = form.cleaned_data['subject']
            message = form.cleaned_data['message']
            Contact.objects.create(name=name, subject=subject, message=message)
            return HttpResponseRedirect('/')
    else:
        form = ContactForm()
    return render(request, 'index.html', {'form': form})

在这个视图中,我们使用了ContactForm表单,并在表单提交时,将表单数据添加到我们的Contact模型中。如果表单提交成功,用户将会被重定向到主页。

创建表单模板

最后一步,我们需要创建表单模板。在myapp/templates文件夹中,创建一个名为index.html的文件,并添加以下代码:

{% extends 'base.html' %}

{% block content %}
<h1>Contact Us</h1>
<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Submit</button>
</form>
{% endblock %}

在这个模板中,我们扩展了base.html,然后使用Django的模板语言渲染了我们的表单。我们还添加了一个提交按钮,并且使用{% csrf_token %}来保证表单的安全性。

创建表单

最后,我们需要创建ContactForm表单。在myapp/forms.py文件中,添加以下代码:

from django import forms

class ContactForm(forms.Form):
    name = forms.CharField(label='Name', max_length=200)
    subject = forms.CharField(label='Subject', max_length=200)
    message = forms.CharField(label='Message', widget=forms.Textarea)

在这个表单中,我们定义了三个字段:姓名,主题和信息。

现在我们已经完成了Django HTML表单实例应用方法的所有步骤!

总结:

通过这篇文章的学习,我们已经了解了Django HTML表单实例应用的所有步骤。我们从创建Django项目开始,创建了一个新的应用并配置了路由。接着创建了一个表单模型、表单视图和表单模板。最后我们创建了ContactForm表单。Django HTML表单可以用于收集用户信息或者输入数据,这对于Web开发非常重要。在编写代码时,我们还学习了Django的模板语言和Django的表单工具。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django HTML表单实例应用 - Python技术站

(0)
上一篇 2023年3月12日
下一篇 2023年3月12日

相关文章

  • 【Django入坑之路】Django后台上传图片,以及前端的显示

    #setting配置: MEDIA_URL = “/media/” MEDIA_ROOT = os.path.join(BASE_DIR, “media”) #注册完admin后,在后台上传图片的时候,会自动将图片保存到这个media文件夹下,#upload_to—-在media文件夹下再创建一个文件夹 class Projects(models.Mod…

    Django 2023年4月13日
    00
  • 第二章:2.8 通过Django 在web页面上面输出 “Hello word ”

    1. 第一步:配置 guest 目录下面的 settings.py 文件, 将 sign应用添加到 guest项目中。                     2. 在 guest目录下面,打开 urls.py 文件,添加 要打开的路由文件配置       3. 在sign应用的目录中找到:views.py 添加 index 函数       4. 使用 模…

    Django 2023年4月12日
    00
  • Python学习笔记之Django创建第一个数据库模型的方法

    下面我详细讲解“Python学习笔记之Django创建第一个数据库模型的方法”完整攻略。 标题 Python学习笔记之Django创建第一个数据库模型的方法 简介 本文将为大家介绍使用Django创建第一个数据库模型的方法。笔者将使用Python3.7和Django3.0版本作为示例讲解。 正文 1. 安装Django 首先,我们需要安装Django。可以通…

    Django 2023年5月16日
    00
  • Django实现学生管理系统

    下面我将为您提供关于“Django实现学生管理系统”的详细攻略: 1. 前置条件 在开始实现学生管理系统之前,需要确保您系统中已经安装了以下软件: Python 3.x Django 2.x MySQL(或其他数据库) 如果您还没有安装以上软件,您可以在以下链接中找到安装教程: Python 3.x安装教程 Django 2.x安装教程 MySQL安装教程 …

    Django 2023年5月16日
    00
  • Python学习之Django的管理界面代码示例

    我来为您详细讲解一下“Python学习之Django的管理界面代码示例”的完整攻略。 Django管理界面简介 Django框架提供了一个强大的默认后台管理系统,开发者可以通过该系统轻松地管理自己的应用程序数据,包括创建、查看、修改和删除数据库中的数据。 示例一:创建Django后台管理账户 在Django的管理界面中,管理员账户是必不可少的,因此我们需要先…

    Django 2023年5月16日
    00
  • Python[问题处理] django-admin.py startproject learning_log .

    django-admin.py startproject learning_log .最近在学习Django,在创建工程文件夹的过程中遇到了一些问题 django-admin.py startproject learning_log . 该语句用于使用django来创建一个名为“ learning_log ”的工程名。 但在cmd中运行这个语句,并不能达到效…

    Django 2023年4月13日
    00
  • Django框架设置cookies与获取cookies操作详解

    下面我为您详细讲解“Django框架设置cookies与获取cookies操作详解”的完整攻略,包含两条示例说明。 1. 设置Cookies 在Django框架中设置cookie非常简单,只需要使用response对象的set_cookie方法即可。set_cookie方法有四个参数,分别为:key、value、max_age和expires。其中,key和…

    Django 2023年5月16日
    00
  • 一篇文章带你自学python Django

    一篇文章带你自学Python Django Django 简介 Python Django 是一种基于 Python 的 Web 框架,它使用了设计模式中的 MVC 架构,采用了 DRY(Don’t Repeat Yourself)的编码风格,可以快速构建出优雅的、可扩展的网站,被广泛运用于互联网开发领域。 准备工作 在学习 Django 之前,需要掌握以下…

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部