Django—admin后台管理

news2024/11/25 4:07:20

Django官网

https://www.djangoproject.com/

如果已经有了Django跳过这步

安装Django: 如果你还没有安装Django,可以通过Python的包管理器pip来安装:

pip install django

创建项目: 使用Django创建一个新的项目:

django-admin startproject mysite1

进入项目mysite1

cd mysite

创建应用: 在Django项目中,应用是执行特定功能的模块。你可以创建一个应用来组织你的代码:

python manage.py startapp bookstore

创建应用后需要注册:

定义模型: 在你的应用目录下,编辑models.py文件来定义你的数据模型。模型是数据库表的抽象表示:

from django.db import models

# Create your models here.

from django.db import models

class Book(models.Model):
    title = models.CharField("书名", max_length=50, default='',unique=True)
    pub = models.CharField("出版社",max_length=100,default='')
    price = models.DecimalField('定价', max_digits=7, decimal_places=2, default=0.0)
    info = models.CharField("描述",max_length=100,default='')
    market_price = models.DecimalField("零售价",max_digits=7,decimal_places=2,default=0.0)
    is_active = models.BooleanField('是否活跃',default=True)
    class Meta:
        db_table = 'book'
        verbose_name='图书'
        verbose_name_plural = verbose_name

    def __str__(self):
        return '%s|%s|%s_%s'%(self.title,self.pub,self.info,self.price)

class Author(models.Model):

    name = models.CharField('姓名',max_length=11)
    age = models.IntegerField('年龄',default=1)
    email = models.EmailField('邮箱',null=True)

    class Meta:
        db_table = 'author'
        verbose_name ='作者'
        verbose_name_plural = verbose_name

python manage.py makemigrations

python manage.py migrate

在mysql中创建数据表

可以使用shell操作数据到数据库,举例

python manage.py shell

from bookstore.models import Book

Book.objects.create(title=:'HTML5',pub='清华大学出版社',price=90,market_price=105)

创建超级用户: 创建一个超级用户账户,以便你可以登录到admin后台:

python manage.py createsuperuser

自定义admin: Django admin提供了许多自定义选项,比如自定义列表显示、搜索功能、过滤器等。你可以通过覆盖admin类来实现这些自定义。

from django.contrib import admin
from .models import Book,Author
# Register your models here.


class BookManager(admin.ModelAdmin):
    #并列表页显示哪些字段的列
    list_display = ['id','title','pub','price']
    #控制list display中的字段哪些可以链接到修改页
    list_display_links = ['title']
    # 添加过滤器
    list_filter = ['pub']
    # 添加搜索框[模糊查询]
    search_fields = ['title']
    # 添加可在列表页编辑的字段
    list_editable = ['price']
admin.site.register(Book, BookManager)

class AuthorManager(admin.ModelAdmin):
        # 并列表页显示哪些字段的列
        list_display = ['id', 'name', 'age']
        # 控制list display中的字段哪些可以链接到修改页
        list_display_links = ['name']
        # 添加过滤器
        list_filter = ['name']
        # 添加搜索框[模糊查询]
        search_fields = ['name']
        # 添加可在列表页编辑的字段
        list_editable = ['age']

admin.site.register(Author,AuthorManager)

运行开发服务器: 启动Django的开发服务器,查看你的网站:

python manage.py runserver

默认端口为8000,也可以指定端口,python manage.py runserver 端口号

访问admin后台: (默认端口)在浏览器中访问http://127.0.0.1:8000/admin,使用你创建的超级用户账户登录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1941849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

敲详细的springboot中使用RabbitMQ的源码解析

这里介绍的源码主要是涉及springboot框架下的rabbitmq客户端代码(具体在springframework.amqp.rabbit包下,区分一下不由springboot直接接管的spring-rabbit的内容),springboot基于RabbitMQ的Java客户端建立了简便易用的框架。 sp…

jmeter实战(1)- Mac环境安装

一、安装 JDK 这个就不介绍了,本地自行安装 JDK 并且配置好环境变量 二、安装 Jmeter 1. 下载地址 —> 下载链接点击这里 2. 选择合适的版本下载 3. 解压到本地目录 解压后,会得到下面的目录文件: 输入cd bin,进入到bin…

OpenCV 直方图概念,直方图均衡化原理详解

文章目录 直方图相关概念颜色灰度级作用应用场景 C 使用OpenCV绘制直方图单通道直方图关键代码分析:calcHist函数分析使用OpenCV API来绘制直方图 效果图: 彩色三通道直方图效果图: 直方图均衡化概念均衡化作用均衡化效果均衡化数学原理步骤数…

项目实战二 HIS项目

目标: 项目的操作流程: 开发体系 前端开发:负责页面的编写 HTML CSS JavaScript 后端开发:看不到 摸不着的功能 常用开发语言 PHP JAVA Python 框架 : 半成品 做好的功能模块 版本控制 Git 分布式版本控…

vxe-table——实现切换页码时排序状态的回显问题(ant-design+elementUi中table排序不同时回显的bug)——js技能提升

之前写的后台管理系统,都是用的antdelement,table组件中的【排序】问题是有一定的缺陷的。 想要实现的效果: antv——table组件一次只支持一个参数的排序 如下图: 就算是可以自行将排序字段拼接到列表接口的入参中&#xff0c…

【中项】系统集成项目管理工程师-第4章 信息系统架构-4.3应用架构

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

vue3 -layui项目-左侧导航菜单栏

1.创建目录结构 进入cmd,先cd到项目目录&#xff08;项目vue3-project&#xff09; cd vue3-project mkdir -p src\\views\\home\\components\\menubar 2.创建组件文件 3.编辑menu-item-content.vue <template><template v-if"item.icon"><lay-ic…

计算机网络八股文(后续更新)

文章目录 一、计算机网络体系结构1、计算机网络的各层协议及作用&#xff1f; 二、物理层三、数据链路层四、网络层五、传输层1、TCP和UDP的区别&#xff1f;2、UDP 和 TCP 对应的应用场景是什么&#xff1f;3、详细介绍一下 TCP 的三次握手机制4、为什么需要三次握手&#xff…

Electron 结合 Selenium + chromedriver 驱动服务实现浏览器多开

背景 在调研浏览器多开的过程中&#xff0c;electron 有自带的 browserview&#xff0c;webview&#xff0c;但是上面两个受制于 electron 内核版本限制&#xff0c;升级不够灵活&#xff0c;对新版的网页支持可能不及时&#xff0c;甚至不兼容&#xff0c;必须通过发布新的客…

MSP430M03507最小系统板的keil环境搭配,用keil编辑ti单片机

转载自嘉立创MSP430M03507开发手册 这篇文章只是因为我的keil版本与嘉立创的不一样&#xff0c;所以添加了我自己遇到的问题解析 先说说为什么要用keil编辑&#xff0c;因为ti单片机自己的ccs编译环境需要对应仿真器&#xff0c;那个加芯片都240了&#xff0c;哪有那么多钱买…

JAVA开发工具IDEA如何连接操作数据库

一、下载驱动 下载地址&#xff1a;【免费】mysql-connector-j-8.2.0.jar资源-CSDN文库 二、导入驱动 鼠标右击下载到IDEA中的jar包&#xff0c;选择Add as Library选项 如图就导入成功 三、加载驱动 Class.forName("com.mysql.cj.jdbc.Driver"); 四、驱动管理…

Bootstrap5 Navbar多级下拉框

实现目标&#xff1a; 1、访问 Bootstrap5-navbar 2、修改dropdown为多级 <!DOCTYPE HTML> <html lang"en-US"> <head><meta charset"UTF-8"><title></title><link rel"stylesheet" href"https…

视频汇聚平台EasyCVR启动出现报错“cannot open shared object file”的原因排查与解决

安防视频监控EasyCVR安防监控视频系统采用先进的网络传输技术&#xff0c;支持高清视频的接入和传输&#xff0c;能够满足大规模、高并发的远程监控需求。EasyCVR平台支持多种视频流的外部分发&#xff0c;如RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC、fmp4等&#xf…

python实现图像特征提取算法1

python实现Marr-Hildreth算法、Canny边缘检测器算法 1.Marr-Hildreth算法详解算法步骤公式Python 实现详细解释优缺点 2.Canny边缘检测器算法详解算法步骤公式Python 实现详细解释优缺点 1.Marr-Hildreth算法详解 Marr-Hildreth算法是一个用于图像边缘检测的经典算法&#xff…

一些和颜色相关网站

1.中国传统色 2.网页颜色选择器 3.渐变色网站 4.多风格色卡生成 5.波浪生成 6.半透明磨砂框

基于3D开发引擎HOOPS平台的大型三维PLM系统的设计、开发与应用

产品生命周期管理&#xff08;Product Lifecycle Management&#xff0c;PLM&#xff09;系统在现代制造业中扮演着至关重要的角色。随着工业4.0和智能制造的推进&#xff0c;PLM系统从最初的CAD和PDM系统发展到现在的全面集成、协作和智能化的平台。本文将探讨基于HOOPS平台的…

四大引用——强软弱虚

目录 一、强引用 二、软引用 三、弱引用 四、虚引用 一、强引用 强引用是在程序代码之中普遍存在的&#xff0c;类似于“Object obj new Object()”&#xff0c;obj变量引用Object这个对象&#xff0c;就叫做强引用。当内存空间不足&#xff0c;Java虚拟机宁愿抛出OutOfMe…

乐鑫AWS IoT ExpressLink方案,简化物联网设备连接AWS IoT服务

在现代科技迅速发展的今天&#xff0c;物联网&#xff08;IoT&#xff09;已经成为连接物理世界与数字世界的重要桥梁&#xff0c;越来越多的设备开始接入网络&#xff0c;实现智能化控制。 在这个大背景下&#xff0c;乐鑫携手亚马逊&#xff0c;推出了AWS IoT ExpressLink方…

【机器学习】机器学习解决的问题特点、机器学习学的是什么、怎么学、如何构建高效机器学习模型的策略、机器学习的分类以及机器学习、模式识别、数据挖掘和人工智能的区别

引言 机器学习是人工智能的一个重要分支&#xff0c;主要解决的是如何通过算法让机器从数据中自动学习规律和知识&#xff0c;以完成特定任务或解决特定问题。 文章目录 引言一、机器学习解决的是什么样的问题1.2 数据驱动的预测问题1.3 数据理解与挖掘1.4 优化与决策问题1.5 异…

一个简单好用安全的开源交互审计系统,支持SSH,Telnet,Kubernetes协议(带私活)

前言 在当今的企业网络环境中&#xff0c;远程访问和交互审计成为了保障网络安-全的重要组成部分。然而&#xff0c;现有的解-决方案往往存在一些痛点&#xff0c;如复杂的配置、有限的协议支持、以及审计功能的不足。这些问题不仅增加了IT管理员的负担&#xff0c;也为企业的…