热门标签 | 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)

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


推荐阅读
  • 本文介绍了JSP的基本概念、常用标签及其功能,并通过示例详细说明了如何在JSP页面中使用Java代码。 ... [详细]
  • HTTP中的Chunked编码与Content-Length的区别及应用场景
    本文探讨了在HTTP协议中,当使用Transfer-Encoding为chunked时为何无需设置Content-Length,以及这种编码方式的具体实现和优势。 ... [详细]
  • 字符、字符串和文本的处理之Char类型
    .NetFramework中处理字符和字符串的主要有以下这么几个类:(1)、System.Char类一基础字符串处理类(2)、System.String类一处理不可变的字符串(一经 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文深入探讨了JLine库中的ConsoleReader.drawBuffer()方法的使用场景和具体实现,通过多个实际代码示例,帮助开发者更好地理解和应用此方法。 ... [详细]
  • 微信小程序支付官方参数小程序中代码后端发起支付代码支付回调官方参数文档地址:https:developers.weixin.qq.comminiprogramdeva ... [详细]
  • 本文档详细介绍了如何在 Python 中进行文件和目录的基本操作,包括文件的打开、关闭、读取、写入、复制以及文件和目录的创建、删除和重命名等。 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
  • Python:新浪微博API初试
    {想在微博上抓点数据进行分析,费了一天多的时间,才终于找到点头绪,整理一下。}目录:一注册创建应用获取认证和授权二新浪微博pythonsdk下载和安装三简 ... [详细]
  • 本文详细探讨了 Java 中 com.codahale.metrics.servlets.AdminServlet.() 方法的实现与应用,并提供了多个实际项目中的代码示例,帮助开发者更好地理解和使用这一方法。 ... [详细]
  • 配置PicGo与Gitee结合Typora打造高效写作环境
    本文详细介绍了如何通过PicGo和Gitee搭建个人图床,并结合Typora实现高效的文章撰写。包括创建图床项目、生成访问令牌、安装配置PicGo和Typora等步骤。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • 本文探讨了在使用Apache HttpClient 4.x(作为commons-httpclient 3.x的后续版本)时,如何配置默认的HttpContext,以确保每次执行请求时无需显式传递上下文。 ... [详细]
  • 本文总结了在多人协作开发环境中使用 Git 时常见的问题及其解决方案,包括错误合并分支的处理、使用 SourceTree 查找问题提交、Git 自动生成的提交信息解释、删除远程仓库文件夹而不删除本地文件的方法、合并冲突时的注意事项以及如何将多个提交合并为一个。 ... [详细]
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社区 版权所有