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

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


推荐阅读
  • 在本文中,我们将为 HelloWorld 项目添加视图组件,以确保控制器返回的视图路径能够正确映射到指定页面。这一步骤将为后续的测试和开发奠定基础。首先,我们将介绍如何配置视图解析器,以便 SpringMVC 能够识别并渲染相应的视图文件。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • Python 中 json.dumps() 和 json.loads() 的使用方法详解——Python 面试与 JavaScript 面试必备知识
    在 Python 中,`json.dumps()` 和 `json.loads()` 是处理 JSON 数据的核心函数。`json.dumps()` 用于将字典或其他可序列化对象转换为 JSON 格式的字符串,而 `json.loads()` 则用于将 JSON 字符串解析为 Python 对象。本文详细介绍了这两个函数的使用方法及其在 Python 和 JavaScript 面试中的重要性,帮助读者掌握这些关键技能。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 在Django中提交表单时遇到值错误问题如何解决?
    在Django项目中,当用户提交包含多个选择目标的表单时,可能会遇到值错误问题。本文将探讨如何通过优化表单处理逻辑和验证机制来有效解决这一问题,确保表单数据的准确性和完整性。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文深入解析了HTML框架集(FRAMESET)的使用方法及其应用场景。首先介绍了几个关键概念,如如何通过FRAMESET标签将主视图划分为多个独立的区域,每个区域可以加载不同的HTML文件。此外,还详细探讨了FRAMESET在实际开发中的优缺点,并提供了具体的实例代码,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 具备括号和分数功能的高级四则运算计算器
    本研究基于C语言开发了一款支持括号和分数运算的高级四则运算计算器。该计算器通过模拟手算过程,对每个运算符进行优先级标记,并按优先级从高到低依次执行计算。其中,加减运算的优先级最低,为0。此外,该计算器还支持复杂的分数运算,能够处理包含括号的表达式,提高了计算的准确性和灵活性。 ... [详细]
  • HTML 页面中调用 JavaScript 函数生成随机数值并自动展示
    在HTML页面中,通过调用JavaScript函数生成随机数值,并将其自动展示在页面上。具体实现包括构建HTML页面结构,定义JavaScript函数以生成随机数,以及在页面加载时自动调用该函数并将结果呈现给用户。 ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • 本文深入解析了Python在处理HTML过滤时的实现方法及其应用场景。通过具体实例,详细介绍了如何利用Python代码去除HTML字符串中的标签和其他无关信息,确保内容的纯净与安全。此外,文章还探讨了该技术在网页抓取、数据清洗等领域的实际应用,为开发者提供了宝贵的参考。 ... [详细]
  • 在 Ubuntu 系统中安装 Python pip 时遇到错误的解决方案 ... [详细]
  • 本文详细介绍了 Python 中字符串处理的各种技巧,包括查找、复制、替换、删除、截取、连接、比较、包含检测及大小写转换等操作。特别强调了如何使用 `strip()`、`lstrip()` 和 `rstrip()` 方法去除字符串中的空格和特殊符号,以及如何通过简单的赋值语句实现字符串的复制。此外,还提供了丰富的示例代码,帮助读者更好地理解和应用这些技巧。 ... [详细]
  • 本章节在上一章的基础上,深入探讨了如何通过引入机器人实现自动聊天、表情包回应以及Adidas官方账号的自动抽签功能。具体介绍了使用wxpy库进行微信机器人的开发,优化了智能回复系统的性能和用户体验。通过详细的代码示例和实践操作,展示了如何实现这些高级功能,进一步提升了机器人的智能化水平。 ... [详细]
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社区 版权所有