zoukankan      html  css  js  c++  java
  • Django---Django管理后台

      我们都知道无论在测试app还是web页面的时候,都会有一个管理后台去配置这些应用展示的内容,那么我们的Django当然也不例外,今天来认识下Django管理后台

    admin管理后台

    Django管理后台不仅仅只可以配置应用前端,也可以对数据进行增删改查,最主要的是免费的~

    默认设置

    Django默认是没有管理后台的,这个需要自己创建,但是我们在创建前,需要在settings.py文件的INSTALLED_APPS中配置admin,当然Django这个也是默认给我们配置好的

    # Application definition
    
    INSTALLED_APPS = [
        'django.contrib.admin',          # 管理站点
        'django.contrib.auth',           # 认证系统
        'django.contrib.contenttypes',   # 用于内容类型的框架
        'django.contrib.sessions',       # 会话框架
        'django.contrib.messages',       # 消息框架
        'django.contrib.staticfiles',    # 管理静态文件框架
        'Anjing',             # Anjing应用

    ]

    并且url.py文件中也会默认创建admin的访问地址

    from django.contrib import admin
    from django.urls import path
    
    urlpatterns = [
        path('admin/', admin.site.urls),
    ]

    创建管理后台

    1、通过输入一下命令来创建admin站点用户

    # 创建admin管理后台
     
    python manage.py createsuperuser

    首先输入账号名:admin,然后邮箱:821006052@qq.com,再输入密码qweasdzxc,再次确认密码qweasdzxc,注意密码这里是看不到的直接输入即可(有时候密码太过于简单,但是我们也可以强制确认)

    创建完成后,我们直接启动Django服务,打开浏览器进入管理员地址:http://127.0.0.1:8000/admin

    输入我们刚才创建好的账号密码。点击log in 然后就登录成功了

    修改admin密码

    如果管理员的密码忘记了怎么办?怎么去修改呢?

    方法一:执行以下命令进行操作修改

    # 修改管理后台密码
    # admin 表示用户名
    
    python manage.py changepassword admin

    按照指示完成修改密码(这里修改太简单的好像没办法通过~~)

    方法二:

    通过终端进入到shell命令中,输入以下命令


    python manage.py shell

    from
    django.contrib.auth.models import User u = User.objects.get(username='admin') # 账号名 u.set_password('test1234') # 新密码 u.save()

    管理后台显示中文

    这里我们会发现管理后台都是英文,我想大多数都会感觉看着不舒服,既然是我们自己的后台,有没有办法设置成中文呢?Django这么强大,肯定有了,我们只需要修改sttings.py配置文件中找到以下代码

    其中LANGUAGE_CODE 表示是语言,TIME_ZONE 表示的是时区

    # Internationalization
    # https://docs.djangoproject.com/en/2.2/topics/i18n/
    
    LANGUAGE_CODE = 'en-us'    # 语言
    
    TIME_ZONE = 'UTC'    # 时区
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True  

    我们只需要更改上面两条数据,就可以了

    # Internationalization
    # https://docs.djangoproject.com/en/2.2/topics/i18n/
    
    # LANGUAGE_CODE = 'en-us'
    
    LANGUAGE_CODE = 'zh-Hans'    # 语言
    
    # TIME_ZONE = 'UTC'
    
    TIME_ZONE = 'Asia/Shanghai'    # 时区

    更改完成后,我们重新进入到管理后台中查看,发现已经更改成功了

    如果在设置过程中出现报错: You have provided a value for the LANGUAGE_CODE setting that is not in the LANGUAGES setting 

    如果没有遇到的请跳过继续看

    这个报错时在Django3的版本后,如果设置完sttings.py中的LANGUAGE_CODE 和 TIME_ZONE后,启动Django就会报出以上错误

    解决方法:

    # 需要在sttings.py中增加LANGUAGES配置
    
    from django.utils.translation import gettext_lazy as _
    LANGUAGES = [
        ('zh-Hans', _('Chinese')),
    ]
    
    LANGUAGE_CODE = 'zh-Hans'

    修改完成后,再次启动Django就会发现问题已经解决了

    后台显示登录数据

    前面安静写了一个登录页面,只要登录后数据信息都会保存在数据库中,这里我想把登录的数据展现到后台管理中。需要在admin.py文件中进行把表名导入即可

    文件:admin.py

    from
    django.contrib import admin from Anjing import models # Register your models here. # 导入数据库 admin.site.register(models.User)
    文件:model.py
    
    from django.db import models
    
    # Create your models here.
    from django.db import models
    
    class User(models.Model):
        username = models.CharField(max_length=32)
        password = models.CharField(max_length=32)

    添加完成后,重新刷新下页面,就可以了(来个动图体会下~~)

    如果不确定数据是否添加过来,可以直接打开数据库查看是否显示完成,这里我们可以看到数据是一致的

    安静好久没用学习了。最近在家办公事情比较多,后面会继续每天学习2小时。

    如果感觉安静写的对您有所帮助,点个关注,持续更新~~哪里有写错的地方,或者不懂的地方,可以下方留言,看到后第一时间回复~~

    这个报错时在Django3的版本后,如果设置完sttings.py中的 LANGUAGE_CODE 和 TIME_ZONE 后,启动Django就会报出以上错误

  • 相关阅读:
    OpenCV中的霍夫线变换和霍夫圆变换
    霍夫圆变换
    异或的性质及运用
    不用中间变量交换两个数值变量的值
    图像变换
    STM32程序的启动
    RAM与FLASH
    STM8的AIR与STM32的Keil的指定地址存数据
    HEX与ASCII之间装换
    STM32、Cortex-A、Cortex-R、Cortex-M、SecurCore
  • 原文地址:https://www.cnblogs.com/qican/p/12422901.html
Copyright © 2011-2022 走看看