django之admin管理界面-创新互联

环境:

成都创新互联公司专注于辉南企业网站建设,成都响应式网站建设公司,商城网站建设。辉南网站建设公司,为辉南等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

物理机为win7,安装vm workstation14虚拟机软件,虚拟机系统为centos7,python版本为3.5.2。

定义模型类:

]# cd /root/py3/django-test1/test5
]# vim bookshop/models.py
from django.db import models

class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)
    bpub_date = models.DateTimeField(db_column='pub_date')
    bread = models.IntegerField(default=0)
    bcomment = models.IntegerField(null=False)
    isDelete = models.BooleanField(default=False)
class HeroInfo(models.Model):
    hname = models.CharField(max_length=10)
    hgender = models.BooleanField(default=True)
    hcontent = models.CharField(max_length=1000)
    isDelete = models.BooleanField(default=False)
    book = models.ForeignKey(BookInfo)
class UserInfo(models.Model):
    uname = models.CharField(max_length=10)
    upwd = models.CharField(max_length=40)
    isDelete = models.BooleanField()

配置settings.py:

]# vim test5/settings.py
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'bookshop',
)
ROOT_URLCONF = 'test5.urls'
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        ...
    },
]
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test3',
        'USER': 'root',
        'PASSWORD':'root',
        'HOST':'192.168.255.70',
        'PORT':'3306',
    }
}
LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static')
]

MEDIA_ROOT = os.path.join(BASE_DIR,'static/upload/')

创建数据库test3:

]# mysql -h292.168.255.70 -uroot -p
输入数据库授权密码,登录到数据库。

> create database test3 charset=utf8;
> use test3;

创建迁移:

]# python manage.py makemigrations
显示过程:
Migrations for 'bookshop':
  0001_initial.py:
    - Create model BookInfo
    - Create model HeroInfo
    - Create model UserInfo

执行迁移:

]# python manage.py migrate
显示过程:
Operations to perform:
  Synchronize unmigrated apps: staticfiles, messages
  Apply all migrations: sessions, admin, contenttypes, bookshop, auth
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying bookshop.0001_initial... OK
  Applying sessions.0001_initial... OK

查询数据库:

> show tables;
> desc bookshop_userinfo;
显示:
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| uname    | varchar(10) | NO   |     | NULL    |                |
| upwd     | varchar(40) | NO   |     | NULL    |                |
| isDelete | tinyint(1)  | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)

注册模型类:有2中方法注册

]# vim bookshop/admin.py
from django.contrib import admin
from .models import *
class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['btitle']
#定义一个web页面显示的bookinfo类,添加各字段后,显示哪些内容,由list_display里的列表项定义,该列表可显示的名称,为该类中的属性字段。
admin.site.register(BookInfo, BookInfoAdmin)
#另一种注册方式是通过装饰器注册
# from django.contrib import admin
# from .models import *
# @admin.register(BookInfo)
# class BookInfoAdmin(admin.ModelAdmin):
#     list_display = ['id','btitle','bpub_date']

可显示字段的名称为BookInfo类中的属性名称:

django之admin管理界面

创建django管理员账号:

]# python manage.py createsuperuser
Username (leave blank to use 'root'): 
输入root;
Email address: 
输入邮箱:root@qq.com
Password: 
Password (again): 
重复输入2次密码:root;
Superuser created successfully.

运行django服务器:

]# python manage.py runserver 192.168.255.70:8000

浏览器访问:192.168.255.70:8000/admin

django之admin管理界面

用户名输入:root

密码输入:root

django之admin管理界面

点击Book infos:

django之admin管理界面

点击右侧,增加book info;填写任意内容后,点击保存:

django之admin管理界面

显示为:

django之admin管理界面

更改显示的字段为'id', 'btitle', 'bpub_date',修改admin.py:

]# vim bookshop/admin.py
from django.contrib import admin
from .models import *
# Register your models here.
class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'btitle', 'bpub_date']
admin.site.register(BookInfo, BookInfoAdmin)

刷新web页面:

django之admin管理界面

可以观察到,显示内容有所变化。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


当前标题:django之admin管理界面-创新互联
当前网址:http://scyanting.com/article/dhiodi.html