前言
- django框架超级用户主要是用来解决应用开发者或所有人管理应用后台数据的。应用model的配置直接关系到超级用户操作对应数据的方便程度。
- 同时,我们可能会忘记已经创建的超级用户的名称或者密码,所以势必要面临着如何找回/重置密码,修改密码甚至修改用户名的情况。阅读本文可以基本能够解决以上问题。
创建
1.新建一个用户名,使用如下命令:
python manage.py createsuperuser
2.输入打算使用的登录名:
Username(leave blank to use 'administrator'):wangchenxi
3.输入email:
Email address:
4.输入密码,需要输入两次,输入过程中密码不显示:
Password:
Password(again):
5.当两次密码都相同的时候,就会提示superuser创建成功。
Superuser created successfully
6.接下来运行服务:
python manage.py runserver
在浏览器打开:127.0.0.1:8000/admin
编辑修改
直接阅读代码如下:
#! /usr/bin/python3
# -*- coding:utf-8 -*-
# file: terminal_django_models.py
# author: wangchenxi
# mail: wongchenxi@icloud.com
# brief:
# version: 0.1.00
# Create Time:2019-12-03 16:06:33
# Last Update: 2019-12-03 16时10分02秒
project_name = input('输入项目名称:')
settings = '%s.settings' %project_name
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', settings)
import django
django.setup()
from crm import models
from django.contrib.auth.models import User
# 查询用户名
user = User.objects.get(pk=1)
# user = User.objects.get(username='your account')
# 修改超级用户密码
user.set_password('11223344')
# 保存超级用户密码
user.save()
# 退出
quit()
配置管理应用model
在应用admin.py中根据models.py注册设置
例如应用models.py如下:
from django.db import models
class BlogArticle(models.Model):
title = models.CharField(
max_length=1024, unique=True,
verbose_name='标题')
create_datetime = models.DateTimeField(
auto_now_add=True, verbose_name='创建时间')
last_update_datetime = models.DateTimeField(
auto_now=True, verbose_name='最后更新时间')
content = models.TextField(
verbose_name="文章内容", max_length=65535)
img_url = models.ForeignKey(
'Image', default=1, blank=True, verbose_name="图片",
on_delete=models.SET_DEFAULT)
category = models.ManyToManyField(
'ArticleCategory', verbose_name="类别")
label = models.ManyToManyField(
'ArticleLabel', verbose_name='标签')
weight = models.IntegerField(default='0', blank=True, null=False)
def __str__(self):
return "<BlogArticle obj:{} {}>".format(self.id, self.title)
与上面对应的admin.py如下配置:
from django.contrib import admin
from rbac import models
from django.conf import global_settings
class BlogArticleConfig(admin.ModelAdmin):
list_display = [
'id', 'title', 'create_datetime', 'last_update_datetime',
'img_url', 'weight']
list_editable = [
'title', 'img_url', 'weight']
search_fields = ('title', 'category__name', 'label__name') # 添加搜索字段
filter_horizontal = ('category', 'label') # 只针对多对多
list_filter = ('category', 'label')
list_per_page = 10 # 让每页显示几条记录的设置
# raw_id_fields = ('publisher',) # 只针对外键的
admin.site.register(models.BlogArticle, BlogArticleConfig)
版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创
转载请注明:出处来自王晨曦个人站点 » Django超级用户创建、编辑及管理用model
出发地 [url=http://www.gj19m825rvs8o7o80d37npo7q7vo805fs.org/]uowyoowchji[/url] owyoowchji http://www.gj19m825rvs8o7o80d37npo7q7vo805fs.org/ aowyoowchji
Braided Copper Flexible Cable