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

Django和mysql简单交互,视图编辑

承接自我的上一篇博客:https:blog.csdn.netoliverkingliarticledetails79705061我们今天继续完善相关页面关于数据表的可视化操作:

承接自我的上一篇博客:https://blog.csdn.net/oliverkingli/article/details/79705061

我们今天继续完善相关页面关于数据表的可视化操作:

我们先增加一个在Student页面下可以选择Grades的具体对象的功能:

修改models.py

from django.db import models# Create your models here.class Grades(models.Model):g_name = models.CharField(max_length=20)g_date = models.DateTimeField()g_girlnum = models.IntegerField()g_boynum = models.IntegerField()isDelete = models.BooleanField(default=False)def __str__(self):return self.g_nameclass Students(models.Model):s_name = models.CharField(max_length=20)s_gender = models.BooleanField(default=True)s_age = models.IntegerField()s_contend = models.CharField(max_length=20)isDelete = models.BooleanField(default=False)# 关联外界s_grade = models.ForeignKey("Grades", on_delete=models.CASCADE)def __str__(self):return self.s_name
然后在admin.py里加入:



接下来我们对可视化界面进行一些完善,并且添加上中文支持:

完整的admin.py:

from django.contrib import admin# Register your models here.
# 从当前导入模型
from .models import Grades,Studentsclass StudentsInfo(admin.TabularInline):model = Studentsextra = 2# 进行注册
class GradesAdmin(admin.ModelAdmin):inlines = [StudentsInfo]# 列表属性添加# 列表list_display = ['pk', 'g_name', 'g_date', 'g_girlnum', 'g_boynum', 'isDelete']# 过滤器list_filter = ['g_name']# 搜索search_fields = ['g_name']# 分页list_per_page = 2# 添加,修改属性,这两个不能同时使用# 规定属性的先后顺序# fields= ['g_girlnum', 'g_boynum', 'g_date', 'g_name', 'isDelete']# 给属性分组fieldsets = [("num", {"fields":["g_girlnum", "g_boynum"]}),("base", {"fields":["g_name", "g_date", "isDelete"]})]class StudentsAdmin(admin.ModelAdmin):def gender(self):if self.s_gender:return "男"else:return "女"def delete(self):if self.isDelete:return "删"else:return "留"def name(self):if self.s_name:return self.s_namedef age(self):if self.s_age:return self.s_agedef contend(self):if self.s_contend:return self.s_contend# 设置页面列的名称gender.short_description = "性别"delete.short_description = "备注"name.short_description = "姓名"age.short_description = "年龄"contend.short_description = "描述"# 列表属性添加# 列表list_display = ['pk', name, gender, age, contend, delete]# 过滤器list_filter = ['s_name']# 搜索search_fields = ['s_name']# 分页list_per_page = 2# 设置操作执行的布局actions_on_top = Falseactions_on_bottom = True# 添加,修改属性,这两个不能同时使用# 规定属性的先后顺序# fields= ['g_girlnum', 'g_boynum', 'g_date', 'g_name', 'isDelete']# 给属性分组fieldsets = [("num", {"fields":["s_name", "s_contend"]}),("base", {"fields":["s_age", "s_gender", "isDelete"]})]admin.site.register(Grades, GradesAdmin)
admin.site.register(Students, StudentsAdmin)






下面我们使用视图来修改站点的可视化界面:

在myapp1文件夹下的view.py中加入:

from django.shortcuts import render# Create your views here.
from django.http import HttpResponsedef index(request):return HttpResponse("Django is testing.")

在项目根目录的test1里面的urls.py中加入:

"""test1 URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/2.0/topics/http/urls/
Examples:
Function views1. Add an import: from my_app import views2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views1. Add an import: from other_app.views import Home2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.conf.urls import url,include
urlpatterns = [url(r'^admin/', admin.site.urls),url(r'^', include('myapp1.urls')),]


再在myapp1文件下创建urls.py

from django.conf.urls import url
from . import viewsurlpatterns = [url(r'^$', views.index),]






推荐阅读
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
author-avatar
手机用户2502858281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有