您的位置:首页 > 编程语言 > Go语言

Django中Admin管理与权限管理(一)————模型创建

2016-07-19 21:58 579 查看
Django下模型创建
1.创建应用
在已经存在的Django项目中通过如下命令创建一个名为notice的应用。



创建成功后,我们可以看到如下所示的内容:



2.新建简单的GfzNotice模型
按照如下的方式,给Notice模型创建两个属性,一个是title表示标题,一个是content表示内容。
from django.db import models
# Create your models here.
# add by chr 20160719
class GfzNotice(models.Model):
    title = models.CharField(max_length=50, default='')
    content = models.TextField(default='')
这时我们需要在配置文件中加上这个APP,否则同步数据库时不会添加该应用的模型信息。在配置文件的INSTALLED_APPS中按照如下方式配置相关信息:
INSTALLED_APPS = (
    ...
    # 通知部分
    'notice',
)
3.同步数据库
首先通过python manage.py makemigrations 生成迁移文件,如下图所示在notice中生成了0001_initial.py文件。



接下来通过python manage.py migrate 来实现迁移,如下图所示:



到这数据库就已经同步成功了。
4.查看Admin中的管理效果
1.启动服务
通过python manage.py runserver命令来完成服务的启动,启动之后如下图所示:



2.登录系统
访问http://127.0.0.1:8000/admin/login/,使用自己创建的超级管理员账号进行登录(本地的账号为chr,密码为123)。 



登录后的效果如下图所示,但到这里可以返现站点管理中并没有我们创建的GfzNotice模型的管理。所以我们还需要配置其可在Admin中进行管理。



3.配置管理
在notice应用下的admin.py完成如下的配置:
from django.contrib import admin
from notice.models import GfzNotice
# Register your models here.
# add by chr 20160719
admin.site.register(GfzNotice)
这时候我们刷新Admin的管理站点,显示如下的效果: 这是我们可以看到有一个栏目的名称为Notice(对应到APP),下面有一个可以管理的Gfz notices对象。但是展示给用户时,不能以英文单词的形式(不便于理解),这就是我们后面会完成的呢,在这里先提一下。



4.默认生成的页面
1.新增页面:
点击新增gfz notice弹出下面的新增页面内容,不过Title、Content都是已英文字段的形式进行了显示,这当然不是我们想要的效果,后面修改模型时会给大家介绍这部分的修改过成功。然后按照下面方式保存这个通知。
这里需要大家注意的是,在我们创建的模型中Title是CharField所以对应到管理页面的新增或修改时的单行文本输入框,其中Content是TextField所以对应到的是多行文本输入框。后面还会有很多不同的对应关系,遇到的时候我会给大家进行更为详细的介绍。



2.列表页面
新增成功后,我们可以看到下面所示的默认内容,当然这个列表和我们想要的效果也是不一致的,后面会一并进行介绍。左下面的选择下拉框有选中后执行删除的操作。附录1的4.4.4中会给大家结合删除的过程。



3.修改页面
按照下图页面所示可对我们添加的通知进行修改后保存。



4.删除页面
通过附录1的4.4.2中左下面的选择操作点击执行后,会跳转到下图的删除操作,点击“是的,我确定”可以完成这条记录的删除。



5.小结
通过上面四个步骤的操作后,我们成功的创建了一个Notice的应用,并在默认的管理页面中可以完成对相关模型的管理。但是默认生成的管理元素与我们所需要的页面差别还是很大的。不过不用担心,我会在第二部分中详细的给大家进行相关介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django Admin Model Python