zoukankan      html  css  js  c++  java
  • Django之路第五篇:Admin

    概述

      Admin是Django自带的一个功能强大的自动化数据管理界面

      被授权的用户可直接在Admin中管理数据库

      Django提供了许多针对Admin的定制功能

    配置Admin

    1.创建用户

      使用python manage.py createsuperuser创建超级用户

    2.访问后台

      访问地址:loalhost:8000/admin(127.0.0.1:8000/admin)

      输入创建的用户名和密码登录

    3.设置后台的语言

      修改settings.py中LANGUAGE_CODE = 'zh_Hans'

    配置应用

    • 在应用下admin.py中引入自身的models模块(或里面的模型类):from models import Article

    • 编辑admin.py:admin.site.register(models.Article)

    修改后的应用admin.py如下:

    1 #blog/admin.py
    2 from django.contrib import admin
    3 from .models import Article
    4 
    5 admin.site.register(Article)

    修改数据

    • 点击Article超链接进入Article列表页面

    • 点击任意一条数据,进入编辑页面修改

    • 编辑页面下方一排按钮可执行相应的操作

    修改数据默认显示名称

    • 在Ariticle类下添加一个方法
    • 根据Python版本选择__str__(self)(3.x)或__unicode_(self)(2.x)
    • 返回:return self.title

    修改后的应用models.py文件如下:

    1 # blog/models.py
    2 from __future__ import unicode_literals
    3 from django.db import models
    4 
    5 class Article(models.Model):
    6     title = models.CharField(max_length=32,default='Title')
    7     content = models.TextField(null=True)
    8     def __str__(self):
    9         return self.title

    当前的工程目录结构

    myblog

      |-----blog(应用目录)

        |-----migrations(数据移植模块,内容自动生成)

          |------__init__.py

        |-----templates

          |-----blog

            |-----index.html

        |-----__init__.py

        |-----admin.py(应用的后台管理系统配置)

        |-----apps.py(应用的一些配置)

        |-----models.py(数据模块,类似于MVC结构中的Models(模型))

        |-----tests.py(自动化测试模块)

        |-----views.py(执行响应的代码所在模块)

        |-----urls.py(新增路由文件)

      |-----myblog(项目目录)

        |-----__init__.py

        |-----settings.py(项目中的总配置文件)

        |-----urls.py(URL配置文件)

        |-----wsgi.py(Python应用与Web服务器之间的接口)

      |-----db.sqlite3(数据库文件)

      |-----manage.py(与项目进行交互的命令行工具集入口(项目管理器))

  • 相关阅读:
    声明以及字符表述类--字母大小写的敏感性
    条款52:写了placement new 也要写placement delete(write placement delete if you write placement new)
    verdi知识点
    关于$test$plusargs和$value$plusargs的小结
    条款40:明智而审慎地使用多重继承(use multiple inheritance judiciously)
    条款39:明智而审慎地使用private继承(use private inheritance judiciously)
    条款38:通过复合塑模has-a或“根据某物实现出”
    条款37:绝不重新定义继承而来的缺省参数值(Never redefine a function's inherited default parameter value)
    自学nodejs系列
    五个典型的JavaScript面试题
  • 原文地址:https://www.cnblogs.com/wanghao123/p/7997496.html
Copyright © 2011-2022 走看看