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

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


推荐阅读
  • 本文详细探讨了 Django 的 ORM(对象关系映射)机制,重点介绍了其如何通过 Python 元类技术实现数据库表与 Python 类的映射。此外,文章还分析了 Django 中各种字段类型的继承结构及其与数据库数据类型的对应关系。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • Django 使用slug field时遇到的问题 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
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社区 版权所有