热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Django企业开发实战学员管理系统(2)

软件:Pycharm2020Python:python3.7.5Django:django3.0.8数据库:mysql5.7

软件:Pycharm2020
Python:python3.7.5
Django:django3.0.8
数据库:mysql5.7.30

github链接 https://github.com/yt-xy/Django-student


输出 Hello World!

views.py

from django.shortcuts import render
def index(request):words = 'World!'return render(request, 'index.html', context={'words': words})

templates/index.html


<html lang&#61;"en">
<head><meta charset&#61;"UTF-8"><title>学员管理系统title>
head>
<body>Hello {{ words }}
body>
html>

urls.py

from django.conf.urls import url
from django.contrib import admin
from stu.views import index
urlpatterns &#61; [url(r&#39;^admin/&#39;, admin.site.urls),url(r&#39;^$&#39;, index, name&#61;&#39;index&#39;),
]

再次启动项目&#xff0c;进入 http://127.0.0.1:8000 即可看到 Hello World!

输出数据

views.py

from django.shortcuts import render
from .models import Student
def index(request):students &#61; Student.objects.all()return render(request, &#39;index.html&#39;, context&#61;{&#39;students&#39;: students})

index.html


<html lang&#61;"en">
<head><meta charset&#61;"UTF-8"><title>学员管理系统title>
head>
<body><ul>{% for student in students %}<li>{{ student.name }} - {{ student.get_status_display }}li>{% endfor %}ul>
body>
html>

提交数据

forms.py

from django import forms
from .models import Student
class StudentForm(forms.Form):name &#61; forms.CharField(label&#61;&#39;姓名&#39;, max_length&#61;128)sex &#61; forms.ChoiceField(label&#61;&#39;性别&#39;, choices&#61;Student.SEX_ITEMS)profession &#61; forms.CharField(label&#61;&#39;职业&#39;, max_length&#61;128)email &#61; forms.EmailField(label&#61;&#39;邮箱&#39;, max_length&#61;128)qq &#61; forms.CharField(label&#61;&#39;QQ&#39;, max_length&#61;128)phone &#61; forms.CharField(label&#61;&#39;手机&#39;, max_length&#61;128)

可修改为&#xff1a;

class StudentForm(forms.ModelForm):def clean_qq(self):cleaned_data &#61; self.cleaned_data[&#39;qq&#39;]if not cleaned_data.isdigit():raise forms.ValidationError(&#39;必须是数字&#xff01;&#39;)return int(cleaned_data)class Meta:model &#61; Studentfields &#61; (&#39;name&#39;, &#39;sex&#39;, &#39;profession&#39;,&#39;email&#39;, &#39;qq&#39;, &#39;phone&#39;)

views.py

from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.urls import reverse
from .forms import StudentForm
from .models import Student
def index(request):students &#61; Student.objects.all()if request.method &#61;&#61; &#39;POST&#39;:form &#61; StudentForm(request.POST)if form.is_valid():cleaned_data &#61; form.cleaned_datastudent &#61; Student()student.name &#61; cleaned_data[&#39;name&#39;]student.sex &#61; cleaned_data[&#39;sex&#39;]student.email &#61; cleaned_data[&#39;email&#39;]student.profession &#61; cleaned_data[&#39;profession&#39;]student.qq &#61; cleaned_data[&#39;qq&#39;]student.phone &#61; cleaned_data[&#39;phone&#39;]student.save()return HttpResponseRedirect(reverse(&#39;index&#39;))else:form &#61; StudentForm()context &#61; {&#39;students&#39;: students,&#39;form&#39;: form,}return render(request, &#39;index.html&#39;, context&#61;context)

可修改为&#xff1a;

def index(request):students &#61; Student.objects.all()if request.method &#61;&#61; &#39;POST&#39;:form &#61; StudentForm(request.POST)if form.is_valid():form.save()return HttpResponseRedirect(reverse(&#39;index&#39;))else:form &#61; StudentForm()context &#61; {&#39;students&#39;: students,&#39;form&#39;: form,}return render(request, &#39;index.html&#39;, context&#61;context)

现在就可以添加数据并在前端页面显示了>.<
在这里插入图片描述


推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文详细探讨了 Django 的 ORM(对象关系映射)机制,重点介绍了其如何通过 Python 元类技术实现数据库表与 Python 类的映射。此外,文章还分析了 Django 中各种字段类型的继承结构及其与数据库数据类型的对应关系。 ... [详细]
  • Django xAdmin 使用指南(第一部分)
    本文介绍如何在Django项目中集成和使用xAdmin,这是一个增强版的管理界面,提供了比Django默认admin更多的功能。文中详细描述了集成步骤及配置方法。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
author-avatar
糖在嘴里甜在心离_636
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有