-
2021-06-15 18:35:40
pycharm启动diango项目,浏览器反问:http://127.0.0.1:8000/admin/,输入用户名、密码,点击登录,发现登录失败:“请输入一个正确的 用户名 和密码. 注意他们都是区分大小写的.”
所以,我们需要对django站点管理员的密码进行修改。
打开pycharm终端,输入python manage.py changepassword your_name(“your_name”为你要修改密码的用户名),根据提示内容修改即可。
更多相关内容 -
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2020-09-20 10:38:04今天小编就为大家分享一篇Django 忘记管理员或忘记管理员密码 重设登录密码的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Django站点管理(后台管理员)
2020-06-13 16:22:03前言 一个网站分为前台(普通用户访问)和管理后台(由网站管理员访问)两部分 管理后台由网站的管理员负责...1. 激活Django站点 1.1 本地化 (语言和时区) 修改settings.py文件。 # LANGUAGE_CODE = 'en-us' LANGUAG前言
一个网站分为前台(普通用户访问)和管理后台(由网站管理员访问)两部分
管理后台由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块,使用Django的管理模块,需要按照如下步骤操作:
- 管理界面本地化
- 创建管理员
- 注册模型类
- 自定义管理页面
1. 激活Django站点
1.1 本地化 (语言和时区)
修改settings.py文件。
# LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-hans' # 指定语言(注意不要写错,否则无法启动服务器) # TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Shanghai' # 指定时区
1.2 创建登录后台的管理员
python3 manage.py createsuperuser 依次指定: 用户名,邮箱,密码
1.3 注册模型类
在应用下的admin.py中注册模型类:告诉django框架,根据注册的模型类来生成对应表管理页面:
# admin.py: from app01.models import Department, Employee # 注册Model类 admin.site.register(Department) admin.site.register(Employee)
1.4 自定义数据模型显示哪些字段信息
自定义模型管理类,作用:告诉django在生成的管理页面上显示哪些内容。
# admin.py: class DepartmentAdmin(admin.ModelAdmin): # 指定后台网页要显示的字段 list_display = ["id", "name", "create_date"] class EmployeeAdmin(admin.ModelAdmin): # 指定后台网页要显示的字段 list_display = ["id", "name", "age", "sex", "comment"] # 注册Model类 admin.site.register(Department, DepartmentAdmin) admin.site.register(Employee, EmployeeAdmin)
1.5 启动服务器,查看效果
python manage.py runserver
在浏览器上输入以下地址,进入管理后台,对数据库表数据进行管理:
http://127.0.0.1:8000/admin
2. 准备工作
步骤1.创建Area区域模型类
class Area(models.Model): """地区类""" title = models.CharField(max_length=50) # 外键: 自关联 parent = models.ForeignKey('self', null=True, blank=True)
步骤2.生成迁移文件,再作迁移,生成数据库表;
步骤3.插入测试数据
步骤4.创建后台管理器账号
python manage.py createsuperuser 按提示填写用户名、邮箱、密码,确认密码。
步骤5.注册模型类
要在后台要能看到模型类表,需要在admin.py中注册模型类from django.contrib import admin from models import * admin.site.register(Area)
步骤6.登录后台,查看效果
通过http://127.0.0.1:8000/admin/访问服务器: 输入刚创建的用户名和密码,登录到后台管理界面,登录成功可以看到如下,可以对Area进行增加、修改、删除、查询的管理操作:
3. 列表页选项
类ModelAdmin可以控制模型在Admin界面中的展示方式,主要包括在列表页的展示方式、添加修改页的展示方式。
在app/admin.py中,注册模型类前定义管理类AreaAdmin
class AreaAdmin(admin.ModelAdmin): pass
打开app01/admin.py文件,注册模型类代码如下
admin.site.register(AreaInfo, AreaAdmin)
接下来介绍如何控制列表页、增加修改页展示效果。
3.1 每页显示多少条
打开booktest/admin.py文件,修改AreaAdmin类如下:
class AreaAdmin(admin.ModelAdmin): list_per_page = 10 # 默认为100条
在浏览器中查看区域信息的列表页面,效果如下图:
3.2 设置操作选项的位置
# app01/admin.py class AreaAdmin(admin.ModelAdmin): ... # 显示顶部的选项 actions_on_top = True # 显示底部的选项 actions_on_bottom = True
在浏览器中刷新效果如下图:
3.3 列表中的列操作
定义列表中要显示哪些字段
# app01/admin.py class AreaAdmin(ModelAdmin): # 定义列表中要显示哪些字段 list_display = ['id', 'title']
点击列头可以进行升序或降序排列
模型类中定义的方法也可以作为列显示(通过此方式可访问关联对象的属性)
# models.py class Area(models.Model): """区域显示""" ... def parent_area(self): """返回父级区域名""" if self.parent is None: return '' return self.parent.title
注册列:
class AreaAdmin(ModelAdmin): ... # 定义列表中要显示哪些字段(也可以指定方法名) list_display = ['id', 'title', 'parent_area']
3.4 修改显示的列的名字
列标题默认为属性或方法的名称,可以通过属性设置。对于模型属性,通过verbose_name设置,对于方法,通过short_description设置,如下:
# models.py class Area(models.Model): """区域显示""" # 设置verbose_name属性 title = models.CharField(verbose_name='名称', max_length=30) # 区域名 def parent_area(self): """返回父级区域名""" if self.parent is None: return '' return self.parent.title # 指定方法列显示的名称 parent_area.short_description = '父级区域' # 方法列默认不能排序,需要指定方法列按id进行排序 parent_area.admin_order_field = 'id'
3.5 右侧栏过滤器
使用list_filter指定过滤,只能接收字段,会将对应字段的值列出来,用于快速过滤。一般用于有重复的字段。
# admin.py class AreaAdmin(ModelAdmin): ... # 右侧栏过滤器 list_filter = ['title']
刷新效果如下:
3.6 搜索框
使用search_fields属性, 对指定字段的值进行搜索,支持模糊查询
# admin.py class AreaAdmin(ModelAdmin): ... # 要搜索的列的值 search_fields = ['title']
刷新效果如下:
4. 编辑页选项
4.1 显示字段顺序
# admin.py class AreaAdmin(ModelAdmin): ... # 表单中字段显示的顺序 fields = ['parent', 'title']
刷新效果如下:
4,2 修改对象显示的字符串: 重写__str__方法
# models.py class Area(models.Model): """区域显示""" ... # 重写方法 def __str__(self): return self.title
刷新效果如下:
4.3 字段分组显示
格式如下:
fieldsets=( ('组1标题',{'fields':('字段1','字段2')}), ('组2标题',{'fields':('字段3','字段4')}), )
注意:fieldsets和fields,只能使用其中的一个
代码:
# admin.py class AreaAdmin(ModelAdmin): ... # 字段分组显示 fieldsets = ( ('基本', {'fields': ('title',)}), ('高级', {'fields': ('parent',)}), )
4.4 编辑关联对象
- 在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种
- 类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑
- 子类TabularInline:以表格的形式嵌入
- 子类StackedInline:以块的形式嵌入
在app01/admin.py文件中添加如下代码:
class AreaStackedInline(admin.StackedInline): model = AreaInfo # 关联子对象(多类对象) class AreaAdmin(admin.ModelAdmin): ... inlines = [AreaStackedInline]
下面再来看下表格的效果:class AreaTabularInline(TabularInline): model = Area # 多类的名字 ... class AreaAdmin(admin.ModelAdmin): ... inlines = [AreaTabularInline]
刷新效果如下:
4.5 修改预留新增选项
class AreaTabularInline(TabularInline): ... extra = 2 # 额外预留新增选项默认为3个
5. 重写后台管理模板
进入到django的admin应用的模板目录,如下:
/home/python/.virtualenvs/py_django/lib/python2.7/site-packages/django/contrib/admin/templates/admin
找到base-site.html文件,复制到当前项目的templates/admin目录下(admin目录需要自行创建出来)
修改base-site.html内容:
新增一行代码,如下图:
刷新结果:
6. choices选项和富文本编辑器
6.1 choices选项使用
- 创建测试模型类
# apps/user/models.py class TestModel(models.Model): """测试""" ORDER_STATUS_CHOICES = ( (1, "待支付"), (2, "待发货"), (3, "待收货"), (4, "待评价"), (5, "已完成"), ) status = models.SmallIntegerField(default=1, verbose_name='订单状态', choices=ORDER_STATUS_CHOICES) class Meta(object): db_table = 'df_test' # 指定模型在后台显示的名称 verbose_name = '测试模型' # 去除后台显示的名称默认添加的 's' verbose_name_plural = verbose_name
- 在后台注册
# apps/users/admin.py from django.contrib import admin from apps.users.models import TestModel admin.site.register(TestModel)
- 创建django后台登录账号,并登录到后台
6.2 富文本编辑器使用
HTMLField富文本控件的显示效果:
使用方式:
1.安装依赖:
pip install django-tinymce==2.6.0
- setting.py文件中配置
INSTALLED_APPS = ( ... 'tinymce', # 使用应用 ) # 配置控件显示样式 TINYMCE_DEFAULT_CONFIG = { 'theme': 'advanced', # 丰富样式 'width': 600, 'height': 400, }
- 项目/urls.py中配置url
import tinymce.urls urlpatterns = [ ... # 包含tinymce urls配置文件 url(r'^tinymce/', include('tinymce.urls')), ]
- 在模型类中使用HTMLField
class TestModel(models.Model): """测试""" # 富文本控件 desc = HTMLField(verbose_name='商品描述', null=True) ...
- 重新迁移数据库,登录到后台进行测试
6.3 修改 GoodsSPU 模型类的商品详情
- 把GoodsSPU模型类的 商品详情 字段类型 改为 HTMLField 类型
class GoodsSPU(BaseModel): """商品SPU表""" desc = HTMLField(verbose_name="商品描述", default="", blank=True) ...
- 重新迁移数据库,生成表
3.注册: GoodsSPU 模型类,让它在后台显示,使用富文本录入 商品详情
# 注册模型类,让它在后台显示 from apps.goods.models import GoodsSPU admin.site.register(GoodsSPU)
原文链接:https://blog.csdn.net/weixin_41790086/article/details/80726585
-
django2.0如何进入管理员站点
2020-07-29 18:30:57本博文源于django基础操作,旨在研究如何进入管理员站点。本博文源于django基础操作,旨在研究如何进入管理员站点。开始实验
前,如果要完成本实验所有内容,需要一些基础零件配置,可参考此博文,简单易操作。
django从零基础配置settings.py
里面包含:- django运行成功
- 资源路径配置,链接App,注释csrf的操作
其中资源路径可不配置,假设项目名称为test01,项目下的应用为app01。下面开始本实验。
实验步骤
1、创建一个超级用户
python manage.py createsuperuser
用户名:root
密码:root1234562、观察项目test01/urls.py是否已经有这条路由(若,没有加入这条路由)
path('admin/', admin.site.urls),
3、登录http://127.0.0.1:8000/admin/
实验效果
收获喜悦
-
Django站点管理- Admin管理员,视图和URL
2020-04-06 23:45:47站点管理 站点: 分为内容发布和公共访问两部分 内容发布的部分由网站的管理员负责查看、添加、修改、删除数据 Django能够根据定义的模型类自动地生成管理模块 使用Django的管理模块, 需要按照如下步骤操作 :...站点管理
-
站点: 分为内容发布和公共访问两部分
-
内容发布的部分由网站的管理员负责查看、添加、修改、删除数据
-
Django能够根据定义的模型类自动地生成管理模块
-
使用Django的管理模块, 需要按照如下步骤操作 :
1.管理界面本地化
2.创建管理员
3.注册模型类
4.发布内容到数据库
1.管理界面本地化
-
本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化.
-
中国大陆地区使用简体中文, 时区使用亚洲/上海时区, 注意这里不使用北京时区.
-
本地化前:
-
本地化后:
2.创建管理员
-
创建管理员的命令 :
python manage.py createsuperuser
-
按提示输入用户名、邮箱、密码
-
重置密码
python manager.py changepassword 用户名
-
登陆站点 :http://127.0.0.1:8000/admin
需要服务器是启动状态
-
登陆站点成功
站点界面中没有书籍和人物管理入口,因为没有注册模型类
3.注册模型类
-
在应用的admin.py文件中注册模型类
需要导入模型模块 :from book.models import BookInfo,PeopleInfo
-
注册模型后
注册模型成功后, 就可以在站点管理界面方便快速的管理数据.
4.发布内容到数据库
-
发布内容后,优化模型类展示
-
# 准备书籍列表信息的模型类 class BookInfo(models.Model): # 创建字段,字段类型... name = models.CharField(max_length=10) def __str__(self): """将模型类以字符串的方式输出""" return self.name
视图 和 URL
-
站点管理页面做好了, 接下来就要做公共访问的页面了.
-
对于Django的设计框架MVT.
- 用户在URL中请求的是视图.
- 视图接收请求后进行处理.
- 并将处理的结果返回给请求者.
-
使用视图时需要进行两步操作
1.定义视图
2.配置URLconf
1. 定义视图
-
视图就是一个Python函数,被定义在应用的views.py中.
-
视图的第一个参数是HttpRequest类型的对象reqeust,包含了所有请求信息.
-
视图必须返回HttpResponse对象,包含返回给请求者的响应信息.
-
需要导入HttpResponse模块 :from django.http import HttpResponse
-
定义视图函数 : 响应字符串OK!给客户端
思考 : 如何才能让请求找到视图?
2. 配置URLconf
- 查找视图的过程 :
-
请求者在浏览器地址栏中输入URL, 请求到网站.
-
网站获取URL信息.
-
然后与编写好的URLconf逐条匹配.
-
如果匹配成功则调用对应的视图.
-
如果所有的URLconf都没有匹配成功.则返回404错误.
-
URLconf
入口
-
需要两步完成URLconf配置
- 在项目中定义URLconf
- 在应用中定义URLconf
-
在项目中定义URLconf
-
在应用中定义URLconf
提示:一条URLconf包括URL规则、视图两部分
-
URL规则使用正则表达式定义.
-
视图就是在views.py中定义的视图函数.
-
url匹配过程
-
3. 测试:请求访问
http://127.0.0.1:8000/
4. 总结
视图处理过程如下图:
使用视图时需要进行两步操作,两步操作不分先后 配置URLconf 在应用/views.py中定义视图
总结View和URL匹配流程
-
-
django站点管理详解
2020-12-25 00:33:37Django的管理员模块是Django的标准库django.contrib的一部分。这个包还包括其它一些实用的模块: django.contrib.auth django.contrib.sessions django.contrib.comments 我们分几个部分讲解django的管理界面(admin... -
python后台架构Django教程——admin管理员站点
2018-02-04 22:21:41有其他问题请先阅读:http://blog.csdn.net/luanpeng825485697/article/details/792288951、Django自带admin后台管理站点这个admin站点相当于一个在线版的数据库管理页面。在admin中我们管理我们创建的数据模型 -
Django项目实践4 - Django站点管理(后台管理员)
2015-07-05 18:05:13上篇:Django项目实践3 - Django模型 Introduction 对于某一类网站, 管理界面 是基础设施中非常重要的一部分。 这是以网页和有限的可信任管理者为基础的界面,它可以让你添加,编辑和删除网站内容。 常见的例子:... -
Django删除管理员账户
2021-02-23 11:37:06from django.contrib.auth.models import User # 引入管理员存放的数据库 user = User.objects.filter() # 查找该数据库里有哪些用户 user # 列出用户名 <QuerySet [<User: admin>]> # 这行就是列出的... -
django管理员_使用Django管理员做更多的事情
2020-07-02 04:16:25Django管理员 Django为潜在的开发人员提供了许多功能:成熟的标准库,活跃的用户社区以及Python语言的所有优点。 尽管其他Web框架也可以提出类似的要求,但Django的独特资产是其内置的管理应用程序-admin。 管理... -
Django站点管理、视图和URL(管理界面本地化、创建管理员、注册模型类、发布内容到数据库、定义视图、配置...
2021-07-05 11:17:17五、站点管理 站点: 分为内容发布和公共访问两部分 内容发布的部分由网站的管理员负责查看、添加、修改、删除数据 Django能够根据定义的模型类自动地生成管理模块 使用Django的管理模块, 需要按照如下步骤操作 :... -
Django忘记管理员账号和密码的解决办法
2017-09-14 22:30:48结果搭建成功以后,一直无法登陆到管理页面,进行不下去了。 如图所示: 在网上找了很多的方法都不行,最后使用新建一个superuser的方法搞定,但是以前设置的那个账号好像还是不行。 解决方法的步骤: 1... -
Django创建管理员账号
2020-03-04 09:28:551.首先进入到虚拟环境(virtualenv)。之前已经创建project。 django-admin startproject 项目名. 2.创建管理员账号: python manager.py createsuperuser...这样就成功创建管理员账号,可以登录django站点后台管理 ... -
Django后台站点管理
2020-03-03 18:37:59很多网站都分前台显示和后台管理两部分。...Django中提供了直接进行站点管理的模板,可在此基础上进行自定义相关功能。 创建管理员用户 默认情况(本地地址,端口为8000)下,输入http://127.0.0.1:... -
django框架:创建管理员账号,构建站点后台管理系统
2018-07-02 13:54:11django创建管理员账号,可管理站点基本模块增删改。django框架,django教程,django是什么,python django实战首先进入到虚拟环境(virtualenv)。之前已经创建project。 django-admin startproject test1.那么django... -
Django站点管理:简介、个性化站点管理,后台主题框架(django-simpleui)
2020-09-22 13:57:39管理界面通常是给系统管理员使用的,用来完成数据的输入,删除,查询等工作。 如果没有集成,自己在settings中的INSTALLED_APPS添加’django.contrib.admin’应用就好了 二.站点管理 1.基本使用 创 -
django-cms的管理员登录密码
2017-09-12 10:14:56django-cms的管理员登录密码就是django站点管理的后台管理员账户。 具体的创建管理员账户过程如下:http://blog.csdn.net/pipisorry/article/details/46764495 -
django-hijack-admin:Django Hijack的Django管理站点集成
2021-05-04 18:48:03Django Hijack的Django管理员集成( ) 安装 按照上的说明安装django-hijack。 从PyPi获取最新的稳定版本: pip install django-hijack-admin 在您的settings.py ,将hijack_admin添加到已安装的应用程序中: ... -
django-importcsvadmin:允许用户从django管理员导入CSV
2021-05-15 07:14:15允许用户从django管理站点中的CSV文件导入模型。 基本用法 要为模型启用CSV导入,只需将ImportCSVModelAdmin子类化,将其importer_class设置为ModelForm子类,然后将其注册为模型的ModelAdmin。 每一行CSV数据将被... -
基于Python Django实现的图书管理系统含全部源代码和设计报告.rar
2021-07-09 23:24:48# 图书管理系统说明V2.0 ### 项目介绍及再版说明(2016-01-24) 其实一开始做这个小项目在2014年的9到11月,当时是作为加入Pureweber开发组的大作业完成的。...* 实现了用户分级(普通用户与管理员用 -
django站点管理
2020-02-19 22:08:45(2) 创建管理员⽤户 python3 manage.py createsuperuser 依次输⼊⽤户名->邮箱->密码->确认密码 (3) 汉化 LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Asia/Shanghai' (4) 在App/admin.py ⾥⾯注册⾃⼰的... -
Django教程 —— 站点后台管理
2020-10-19 23:12:08Django站点后台管理、自定义后台管理 -
django-bootstrap-customizer:使用Django管理员构建自定义的Bootstrap CSS
2021-02-05 17:09:05Django Bootstrap Customizer可让您通过从Django管理员创建BootstrapTheme模型来构建自定义Bootstrap主题。 BootstrapTheme值将转换为Bootstrap SCSS变量,用于在保存主题时使用来编译自定义的Bootstrap CSS。 ... -
Django-admin后台管理站点
2020-02-22 22:26:43admin后台管理站点 很多时候,我们不光要开发针对客户使用的前端页面,还要给后台管理人员提供相应的管理界面。但是大多数时候为你的团队或客户编写用于增加、修改...这个界面只给站点管理员使用,并不对大众开放。... -
Django中实现站点管理
2018-12-04 10:11:02概述: 内容发布:负责添加、修改、删除内容,开发这些重复的功能是一件非常没有意义的事情,并且缺乏...创建管理员用户:python manage.py createsuperuser;按顺序输入用户名、邮箱、密码 127.0.0.1:8000/admi... -
django admin超级管理员
2020-06-28 10:24:05注册模型类:site站点的意思 把User这个模型类注册进去, 注意要导入包 在终端创建超级用户 输入超级用户的用户名 报错邮箱 密码 python manage.py creatsuperuser 中文显示处理方法 展示 ... -
服务端编程(八)- Django – admin 后台管理站点 后台操作数据库
2020-12-22 09:53:571 创建后台 超级管理员root 2 admin注册ORM模型 3 admin 管理页面的魔改 4 app 操作数据库(ORM模型)的基本思路 创建ROOT账户 后台管理 首先得创立账户 我们在 有manage.py的目录下 运行 python mana -
【django】站点管理
2021-12-12 00:23:451. 站点管理 1.1 管理界⾯本地化 a、本地化是将显示的语⾔、时间等使⽤本地的习惯,这⾥的本地化就是进⾏中国化. b、中国⼤陆地区使⽤简体中⽂, 时区使⽤亚洲/上海时区, 注意这⾥不使⽤北京时区.本地化前 本地化前 ... -
Django登录不工作。仅适用于超级用户/管理员
2021-03-07 19:05:07我之前使用django registration redux作为我的注册后端,一切都很好。然后我决定将注册后端更改为django的默认注册django.contrib.auth,注册工作正常,但登录不起作用。但是,问题是,只有我的超级用户帐户可以登录...