Django HTML表单实例应用

yizhihongxing

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 Cache缓存系统详解

    Django是一个用于Web开发的高级Python框架,拥有强大的缓存系统,以提高Web应用程序的速度和效率,减轻服务器的负担。 缓存是将计算结果存储在一个易于访问的地方,以便后续访问可以快速获得结果,从而避免了对你的服务器资源的频繁请求,缓存的好处是提高了Web应用程序的性能,让用户能够更快地获得响应结果,减少了数据访问延迟,提高了应用程序的可用性。 Dj…

    Django 2023年3月12日
    00
  • 详解Python的Django框架中的模版相关知识

    详解Python的Django框架中的模版相关知识 Django 是一个优秀的 Python Web 框架,内置了强大的模版引擎,方便开发者快速创建 Web 应用。本文将详细讲解 Django 中与模版相关的知识,包括模版的语法、模版继承和自定义模版标签等内容。同时,本文将提供两个示例来说明 Django 模版相关知识的应用。 模版的语法 Django 模版…

    Django 2023年5月16日
    00
  • django静态文件处理

    1. Django 静态文件分类 Django 静态文件分为两类:static 和 media。 static: 是页面引用的 JS、CSS、Image 等文件 media:是用户上传的文件   2. 生产环境配置 生产环境,通常配置 Nginx 转发静态文件请求,而 Django 处理动态请求。 nginx 配置 location /media { ali…

    Django 2023年4月11日
    00
  • django 上传头像并预览 3选1

    注册页面的头像上传 register.html<!DOCTYPE html> 1 <html lang=”en”> 2 <head> 3 <meta charset=”UTF-8″> 4 <title>Title</title> 5 </head> 6 <body&gt…

    Django 2023年4月13日
    00
  • django 模型

    一、project 与app之间的关系   1个project中可包含多个app   eg:包含两个app的project的结构      project:存放对各个app的配置   app:真正的业务代码,包含models和views,以package的形式存在,      容易完整移植到其他project,从而被多个project复用     二、用py…

    Django 2023年4月15日
    00
  • django Form 效验

    Django 登入效验 .py from django import forms from student import models from django.core.exceptions import ValidationError from django.core.validators import RegexValidator class RegFo…

    Django 2023年4月10日
    00
  • Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)

    1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model): username=models.CharField(max_length=30) headImg = models.FileField(upload_to=…

    Django 2023年4月12日
    00
  • django+js+ajax实现刷新页面的方法

    下面是关于“django+js+ajax实现刷新页面的方法”的完整攻略: 1. 整体思路 前端使用Ajax发送请求,后端使用Django返回结果,使用DOM API将结果更新到网页中,从而实现刷新页面的作用。 2. 示例一:实现无刷新删除数据 2.1. 前端实现 2.1.1. html 在html页面中,首先要引入jquery和实现删除的js代码: <…

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