django中ORM的简单应用,以及生成admin站点

前期准备:

  1、安装mysql数据库

  2、安装mysqlclient插件:pip install -i https://pypi.douban.com/simple  mysqlclient

  3、在全局settings中设置数据库连接信息

  4、创建子应用并注册子应用,demo中使用的子应用为:persons

操作步骤:

  1、在persons子应用的models.py文件中定义数据库字段,代码如下:

from django.db import models


class Persons(models.Model):
    GENDER_CHOICES = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
    id = models.AutoField(verbose_name='id主键', primary_key=True, help_text='id主键')
    name = models.CharField(verbose_name="姓名", help_text="姓名", unique=True,
                            max_length=50)
    age = models.IntegerField(verbose_name="年龄", help_text="年龄")
    sex = models.CharField(choices=GENDER_CHOICES, max_length=2)
    desc = models.TextField(verbose_name="自我介绍", help_text="自我介绍", max_length=500,
                            null=True, blank=True, default='')

    # 定义子类Meta, 用于设置当前数据模型的元数据信息
    class Meta:
        db_table = 'tb_person'
        # 会在admin站点中, 显示一个更人性化的表名
        verbose_name = '个人信息'
        verbose_name_plural = '个人信息'

    def __str__(self):
        return self.name

  2、迁移脚本,点击Tools->Run manage.py Task,分别输入:makemigrations、migrate 

  3、在manage.py 命令行中创建用户:createsuperuser   

  4、在persons子应用admin.py文件中注册admin站点,代码如下:

from django.contrib import admin

from persons.models import Persons


class PersonsAdmin(admin.ModelAdmin):
    # 指定在修改(新增)中需要显示的字段
    fields = ('name', 'age', 'sex', 'desc')
    # 指定要列出的字段
    list_display = ['id', 'name', 'age', 'sex']


# 注册时除了传Persons参数外,还需要传PersonsAdmin参数
admin.site.register(Persons, PersonsAdmin)

  5、访问admin站点:http://127.0.0.1:8000/admin,输入创建的用户名和密码,登录后可以在后台进行数据管理:

  

  

猜你喜欢

转载自www.cnblogs.com/benben-wu/p/12451879.html