• Django-Admin后台管理


    Rhel6.5
    Django1.10
    Python3.5
    应用环境:Python+Virtualenv(Python Virtualenv运行Django环境配置)

    Django-Admin后台管理

    创建Django应用

    • 新建项目和应用
    (blog) [root@django2 blog]# django-admin startproject cherry05
    (blog) [root@django2 blog]# cd cherry05
    (blog) [root@django2 cherry05]# django-admin startapp blog
    

    cherry05:项目名
    blog:应用名

    配置(修改相关文件)

    修改cherry05/setting.py文件

    1. 若debug为ture,则此处将虚拟机自身的ip加入进去,后面会在物理机的浏览器上进行访问ip:8000
    ALLOWED_HOSTS = ['172.25.9.11']
    

    注:若使用的是物理机,则不需要修改此处
    2. apps中加入blog,并打开django.contrib.admin选项

    INSTALLED_APPS = [
        'django.contrib.admin',                    #确保此处打开
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'blog',                                            #加入我们创建的应用blog
    ]
    
    1. 数据库相关配置
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': 'cherry05.db',
        }
    }
    

    修改urls.py文件

    • 进入项目目录,做如下修改
    (blog) [root@django2 cherry05]# more cherry05/urls.py 
    from django.conf.urls import url
    from django.contrib import admin        
    admin.autodiscover()                       
    urlpatterns = [
            url(r'^admin/', admin.site.urls),
    ]
    

    修改models.py文件

    • 进入项目目录,做如下修改
    (blog) [root@django2 cherry05]# more blog/models.py 
    from django.db import models
    sex_choices=(
    	    ('f','female'),
    	    ('m','male'),
    )
    class User(models.Model):                                            
    	    name = models.CharField(max_length=30)               
    	    sex = models.CharField(max_length=1,choices=sex_choices)
    

    同步数据库

    • 进入项目目录执行
    (blog) [root@django2 cherry05]# pwd
    /root/pythonproject/virtualenv/blog/cherry05
    (blog) [root@django2 cherry05]#./manage.py makemigrations blog
    (blog) [root@django2 cherry05]#./manage.py migrate
    

    创建超级用户

    • 用于后台登录,一般为root,可自定义
    (blog) [root@django2 cherry05]# python manage.py createsuperuser
    Username (leave blank to use 'root'): root
    Email address: root@qq.com
    Password: 
    Password (again): 
    Superuser created successfully.
    

    密码是redhat123456(自定义)

    运行Django应用并测试

    运行

    (blog) [root@django2 cherry05]# python manage.py runserver 0.0.0.0:8000
    

    注:若是物理机,则为 python manage.py runserver,访问127.0.0.1:8000即可

    访问

    登录界面(使用刚才我们创建的superuser):

    主界面:

    但是我们可以发现界面上并没有我们创建的blog_user表,接下来进行一项配置,使之生效

    1. 修改admin.py文件
      • 进入项目cherry05目录
    (blog) [root@django2 cherry05]# more blog/admin.py 
    from django.contrib import admin
    from blog.models import User
    admin.site.register(User)
    
    1. 再次访问
      • blog.user成功显示如下:

        注:访问若未改变,可重新运行一次应用python manage.py runserver 0.0.0.0:8000

    创建用户

    1. 在我们加入的blog.user表中创建用户

      可多创建几个:

    2. 查看数据库中数据是否已经插入

    (blog) [root@django2 cherry05]# ls                  #项目目录下新增cherry05.db
    blog  cherry05.db  cherry05  manage.py
    (blog) [root@django2 cherry05]# sqlite3 cherry05.db     
    SQLite version 3.6.20
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> .help                                                       #获取帮助
    ......
    sqlite> .tables                                                    #查看此数据库下都有哪些表,blog_user是我们创建的(app_name.class_name)
    auth_group                  blog_user                 
    auth_group_permissions      django_admin_log          
    auth_permission             django_content_type       
    auth_user                   django_migrations         
    auth_user_groups            django_session            
    auth_user_user_permissions
    sqlite> select * from blog_user;                          #数据已经成功插入
    1|Alen|f
    2|Max|m
    3|Carl|m
    

    删除用户

    • 界面操作删除某一用户
      自操作
    • 查看数据库是否同步
    sqlite> select * from blog_user;
    2|Max|m
    3|Carl|m
    

    还有认证管理,权限管理等,可自了解,操作! Good luck!

    ########本文为原创,转载请注明出处

  • 相关阅读:
    [QT][待解决问题]对话框ui载入卡顿问题
    [QT] Tab键切换焦点顺序
    [QT][问题记录]发布软件时遇到的问题
    [QT][转载] Qt信号和槽
    [QT][转载]Qt:使用C++还是QML
    [qt][问题记录] 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
    [QT]安装中出现的问题(安装qt5.8,出现Could not start:"{0,3010,1603,5100} msiexec ...")
    [转载]Lwip之IP/MAC地址冲突检测
    转载:TCP连接的状态详解以及故障排查
    git push (第一次) (转)
  • 原文地址:https://www.cnblogs.com/cherishry/p/6200868.html
Copyright © 2020-2023  润新知