python界面设置-Python进入后台界面(admin)设定

用过Django框架的童鞋肯定都知道,在创建完Django项目后,每个app下,都会有一个urls.py文件,里边会有如下几行:

※特别要注意下面标红颜色的部分[] 一般情况下不需要修改什么东西,只需要把括号修改一下即可

from django.contrib import admin

urlpatterns = [

url(r'^admin/', admin.site.urls),

]

上边看到导入的admin模块,就是本节所要说的主要内容

主要功能

功能1:提供数据库管理功能

基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查

功能2:二次开发

基于该模块的数据管理功能,可以二次定制一些实用的功能。

使用方法

步骤1:在settings.py中,INSTALLED_APPS中,加入django.contrib.admin

默认生成的,不需要变动

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth', #admin依赖

'django.contrib.contenttypes', #admin依赖

'django.contrib.sessions', #admin依赖

......

]

步骤2:urls.py创建admin路由

from django.contrib import admin

urlpatterns = [

url(r'^admin/', admin.site.urls),

....

]

步骤3:在settings.py配置文件中,中间件注册

默认生成的,不需要变动

MIDDLEWARE = [

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

....

]

步骤4:创建admin管理用户

python manage.py createsuperuser

步骤5:在app 的models.py文件中创建表信息,即表类

from django.db import models

class Gender(models.Model):

name = models.CharField(max_length=32)

class userinfo(models.Model):

nid = models.AutoField(primary_key=True)

name = models.CharField(max_length=30, verbose_name='用户名',editable=False)

email = models.EmailField(db_index=True)

memo = models.TextField()

img = models.ImageField(upload_to='upload')

user_type = models.ForeignKey("UserType", null=True, blank=True)

gender_choices = (

(0, "男"),

(1, "女"),

)

gender = models.IntegerField(choices=gender_choices,default=1)

class UserType(models.Model):

name = models.CharField(max_length=32)

def __str__(self):

return self.name

步骤6:在admin.py中注册表

from django.contrib import admin

# Register your models here.

from app01 import models

admin.site.register(models.userinfo)

admin.site.register(models.UserType)

步骤7:生成表结构

python manage.py makemigrations && python manage.py migrate

注意:在数据库表结构发生变动时,再次执行python manage.py makemigrations就会报错,这是因为此时表中可能已经有数据,貌然变动表结构会有影响,此时的解决方法有两种,一种是,设置新增字段的default='xxx'某个值, 但是这种通用性不是很好。 另外一种是,设置该字段null=True。即允许为空即可

步骤8:运行项目,登陆管理界面

python manage.py runserver

访问URL:http://IP:8000/admin

最终展示页面

955949-20161009183606757-1387791971.png

955949-20161010105527508-1852292738.png

显示出来这个页面,就表示admin已经可以正常管理了。

显示优化

优化1:显示字段信息

这时候去UserType里边添加几条数据后,会发现这几天数据都显示User Type object,显示很不友好。图示如下

955949-20161010111050211-229364742.png

处理办法就是去models.py中,修改class UserType类,增加

1

2

def __str__(self):

return self.name

增加之后,再次查看,就会显示用户之前增加的可视名称了

955949-20161010111229711-502967287.png

优化2:优化表单信息为中文显示

在userinfo表中,设置了verbose_name='用户名',这个参数的作用就是在用户添加信息的时候,显示“用户名”,而不是默认的name

955949-20161010111821133-1912240831.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值