Django 后台与便签

1. 什么是后台管理

后台管理是网页管理员利用网页的后台程序管理和更新网站上网页的内容。各网站里网页内容更新就是通过网站管理员通过后台管理更新的。

2. 创建超级用户

1. python .\manage.py createsuperuser

2. 输入账号密码等信息

Username (leave blank to use 'sylviazhang'): admin

Email address: xxx@qq.com

Password: xxxxx

Password (again):xxxxx

This password is too short. It must contain at least 8 characters. This password is too common. Bypass password validation and create user anyway? [y/N]: y Superuser created successfully.

3. 打开网址 http://127.0.0.1:8000/admin/login/?next=/admin/

4. 输入username: admin, password: xxxxx, 点击login,就成功登录啦

3. 配置后台管理语言

登录成功后的页面如下:

配置后台管理语言 LANGUAGE_CODE

系统默认是 

LANGUAGE_CODE = 'en-us'TIME_ZONE = 'utc'

如果想改成中文: 

LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'   # utc会晚8小时

刷新网页,就变成了中文 

4. 定义模型

4.1 terminal 输入 django-admin startapp the_9 回车

4.2. 配置模型 tutorial子文件夹 settings.py 里面 INSTALLED_APPS 中括号里面添加 "the_9"

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',"the_3","the_5","the_6","the_7","the_8","the_9",
]

4.3. 创建模型 , the_9\models.py 

from django.db import models# Create your models here."""
问题 -- (问题是什么, 什么时间)模型 -- (回答问题, 关注度)
"""class Question(models.Model):question_text = models.CharField(max_length=200)pub_date = models.DateTimeField("发布日期")class Choice(models.Model):question = models.ForeignKey(Question,on_delete=models.CASCADE)choice_text = models.TextField()votes = models.IntegerField(default=0)

4.4. 接下来是迁移,迁移完成后再纳入后台管理系统 

4.4.1 terminal 输入 python .\manage.py 回车

(class15env) D:\Python\xxx\class15\tutorial>python .\manage.py

Type 'manage.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[auth]
    changepassword
    createsuperuser

[contenttypes]
    remove_stale_contenttypes

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

[sessions]
    clearsessions

[staticfiles]
    collectstatic
    findstatic
    runserver

4.4.2 terminal 输入 python .\manage.py makemigrations回车

(class15env) D:\Python\xxx\class15\tutorial>python .\manage.py makemigrations
Migrations for 'the_8':
  the_8\migrations\0002_alter_entry_blog.py
    - Alter field blog on entry
Migrations for 'the_9':
  the_9\migrations\0001_initial.py
    - Create model Question
    - Create model Choice

4.4.3 迁移  terminal 输入 python .\manage.py migrate回车

(class15env) D:\Python\xxx\class15\tutorial>python .\manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions, the_6, the_8, the_9
Running migrations:
  Applying the_8.0002_alter_entry_blog... OK
  Applying the_9.0001_initial... OK

5. 模型纳入后台管理

5.1 在the_9\admin.py配置 

from django.contrib import admin
from .models import Question, Choice# Register your models here.admin.site.register(Question)
admin.site.register(Choice)

5.2. 刷新浏览器, 可以看到Questions和Choices已经配置进来

6. 操作新加入的模型 

6.1 点击Questions后面的添加

6.2 输入内容,时间选择今天,现在,保存

6.3 出现Question object 对象是因为在 models.py我们没有添加 __str__

class Question(models.Model):question_text = models.CharField(max_length=200)pub_date = models.DateTimeField("发布日期")def __str__(self):return self.question_text

6.4 刷新浏览器 , 1月1号大家准备去什么地方就出来了

6.5 再添加一条Question 

6.6 同样给 Choice也加上 __str__

class Choice(models.Model):question = models.ForeignKey(Question,on_delete=models.CASCADE)choice_text = models.TextField()votes = models.IntegerField(default=0)def __str__(self):return self.choice_text

6.7 操作Choices, 点击Choice后面的添加, Question选择第一个 1月1号去什么地方?输入内容,保存

可以再添加一条 

7. 自定义字段展示

7.1 在the_9\admin.py 里面自定义

from django.contrib import admin
from .models import Question, Choice# Register your models here.class QuestionAdmin(admin.ModelAdmin):fields = ['pub_date','question_text']admin.site.register(Question,QuestionAdmin)
admin.site.register(Choice)

刷新网页, 可以看到 发布日期 调整到上面了

7.2 还可以进行分类设置 

class QuestionAdmin(admin.ModelAdmin):# fields = ['pub_date','question_text']fieldsets = [('日期', {'fields':['pub_date']}),('文本', {'fields': ['question_text']}),]

刷新网页

8.添加关联对象

9. 自定义列表页

在the_9\admin.py 中添加 list_display = ('pub_date','question_text')

class QuestionAdmin(admin.ModelAdmin):# fields = ['pub_date','question_text']fieldsets = [('日期', {'fields':['pub_date']}),('文本', {'fields': ['question_text']}),]list_display = ('pub_date','question_text')

刷新网页 

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

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

相关文章

在Android设备上设置和使用隧道代理HTTP

随着互联网的深入发展&#xff0c;网络信息的传递已经成为人们日常生活中不可或缺的一部分。对于我们中国人来说&#xff0c;由于某些特殊的原因&#xff0c;访问国外网站时常常会遇到限制。为了解决这个问题&#xff0c;使用代理服务器成为了许多人的选择。而在Android设备上设…

微服务智慧工地信息化解决方案(IOT云平台源码)

智慧工地是指应用智能技术和互联网手段对施工现场进行管理和监控的一种工地管理模式。它利用传感器、监控摄像头、人工智能、大数据等技术&#xff0c;实现对施工现场的实时监测、数据分析和智能决策&#xff0c;以提高工地的安全性、效率和质量。 智慧工地平台是一种智慧型、系…

Redis双写一致性

文章目录 Redis双写一致性1. 延迟双删&#xff08;有脏数据风险&#xff09;2. 异步通知&#xff08;保证数据最终一致性&#xff09;3. 分布式锁&#xff08;数据的强一致&#xff0c;性能低&#xff09; Redis双写一致性 当修改了数据库的数据也要同时更新缓存的数据&#xf…

Linux 系统拉取 Github项目

一、安装Git 在Linux上拉取GitHub项目可以使用Git命令。首先确保已经安装了Git。如果没有安装&#xff0c;可以通过包管理器&#xff08;比如apt、yum&#xff09;来进行安装。 sudo yum install git #查看安装版本 git -version二、关联GitHub 配置本地账户和邮箱 >>…

iOS实时查看App运行日志

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 &#x1f4dd; 摘要&#xff1a; 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具&#xff0c;我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…

Rust 圣经 阅读 引用与借用

Rust 通过 借用&#xff08;Borrowing&#xff09; 在使用某个变量的指针或引用。 获取变量的引用&#xff0c;称之为 借用&#xff08;borrowing&#xff09; 。 引用与解引用 引用是为了解决在使用函数时&#xff0c;频繁地传递所有权。 引用只是获取了引用权&#xff0c;而…

魔改Stable Diffusion,开源创新“单目深度估计”模型

单目深度估计一直是计算机视觉领域的难点。仅凭一张 RGB 图像,想要还原出场景的三维结构,在几何结构上非常不确定,必须依赖复杂的场景理解能力。 即便使用更强大的深度学习模型来实现&#xff0c;也面临算力需求高、图像数据注释量大、泛化能力弱等缺点。 为了解决这些难题&a…

线性代数第一课+第二课总结

第一课 第一课是简单的行列式计算&#xff0c;主要就是要把左下角的数字全部转换为0&#xff0c;通过减去其他行的式子即可实现&#xff0c;最后把对角线的所有数字相乘&#xff0c;得到的结果是最后行列式的答案 第二课 例题1 硬算理论上其实也是可行的&#xff0c;但是使…

R语言——reshape2包、tidyr包、dplyr包(五)

目录 一、数据转换之reshape2包&#xff1a;melt与dcast函数 二、数据转换之tidyr包&#xff1a;gather与spread函数&#xff0c;separate与unite函数 三、据转换之dplyr包 四、参考 一、数据转换之reshape2包&#xff1a;melt与dcast函数 merge 函数 使用merge函数 x &l…

听GPT 讲Rust源代码--library/proc_macro

File: rust/library/proc_macro/src/bridge/rpc.rs 在Rust源代码中&#xff0c;rust/library/proc_macro/src/bridge/rpc.rs文件的作用是实现了Rust编程语言的编译过程中的远程过程调用&#xff08;RPC&#xff09;机制。 这个文件定义了与编译器的交互过程中使用的各种数据结构…

阿里云2核2G3M服务器能放几个网站?有限制吗?

阿里云2核2g3m服务器可以放几个网站&#xff1f;12个网站&#xff0c;阿里云服务器网的2核2G服务器上安装了12个网站&#xff0c;甚至还可以更多&#xff0c;具体放几个网站取决于网站的访客数量&#xff0c;像阿里云服务器网aliyunfuwuqi.com小编的网站日访问量都很少&#xf…

万界星空科技低代码平台基本模块与优势

低代码平台&#xff08;Low-Code Development Platform&#xff0c;LCDP&#xff09;就是使用低代码的方式进行开发&#xff0c;能快速设置和部署的平台。低代码平台旨在简化应用开发过程&#xff0c;降低开发难度&#xff0c;缩短开发周期&#xff0c;并使非专业程序员&#x…

线性代数笔记3 1.1

学习视频&#xff1a; 2.2 矩阵运算&#xff08;二&#xff09;_哔哩哔哩_bilibili 包括内容&#xff1a; p10矩阵运算&#xff08;二&#xff09; p11特殊矩阵 p12逆矩阵&#xff08;一&#xff09; p13逆矩阵&#xff08;二&#xff09;

基于Python +Selenium的爬虫详解

今天我们来详细学习一些 selenium 的强大用法 一、selenium简介 由于requests模块是一个不完全模拟浏览器行为的模块&#xff0c;只能爬取到网页的HTML文档信息&#xff0c;无法解析和执行CSS、JavaScript代码&#xff0c;因此需要我们做人为判断&#xff1b; 1、什么是sele…

PowerShell——多任务后台作业

PowerShell——多任务后台作业 实验环境&#xff1a;操作系统为Windows8(或之后)或者Windows Server2012&#xff08;或之后&#xff09;运行PowerShell v3或更新版本的计算机 任务: 创建一个后台作业获取计算机上系统事件日志中最近的26条错误记录&#xff0c;之后将记录导出…

算法与人生 揭秘C语言中高效搜索的秘诀——二分查找算法详解

引言&#xff0c;少年们&#xff0c;大家好。在这里祝大家元旦快乐&#xff0c;我是博主那一脸阳光&#xff0c;今天来介绍二分查找 在计算机科学领域&#xff0c;搜索算法是数据处理和问题解决的重要工具之一。其中&#xff0c;**二分查找算法&#xff08;Binary Search&#…

Git开发工具基本使用

文章目录 前言Git仓库基本概念基本环境安装清除原先配置生成秘钥配置Host添加公钥Github添加Gitee添加测试 本地仓库基本概览查看提交日志(log)版本回退添加文件至忽略列表分支分支冲突 远程仓库推送到远程仓库从远程仓库中抓取和拉取 在Idea中使用Git总结 前言 这里只是对Git…

Perforce:2024年改变数字化格局的五大技术趋势

自去年ChatGPT发布以来&#xff0c;生成式人工智能占据了头条、会议&#xff0c;甚至占据了我自己工作场合的对话。人工智能技术如此迅速地改变工作流程和公司的关注点&#xff0c;真是令人难以置信。 我叫瑞安&#xff0c;在技术领域工作了近二十年&#xff0c;拥有15年的全栈…

图像分割实战-系列教程3:unet医学细胞分割实战1(医学数据集、图像分割、语义分割、unet网络、代码逐行解读)

&#x1f341;&#x1f341;&#x1f341;图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 unet医学细胞分割实战1 unet医学细胞分割实战2 unet医学细胞分割实战3 unet医学细胞分割实战4 unet…

计算图与动态图机制

一、计算图 计算图是用来描述运算的有向无环图 计算图有两个主要元素&#xff1a;结点&#xff08;Node&#xff09;和边&#xff08;Edge&#xff09; 结点表示数据&#xff0c;如向量&#xff0c;矩阵&#xff0c;张量边表示运算&#xff0c;如加减乘除卷积等 用计算图表…