这一部分是关于 Django 的自动管理界面。这个特性是这样起作用的:它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即工作。在这里我们将讨论如何激活,使用和定制这个特性。

激活管理员界面

在你的数据models (不是视图部分的models)中加入admin metadata。不是所有的models都能够(或应该)被管理员编辑,你需要给models标记一个管理员接口(interface),通过给models添加一个内部类‘admin’完成接口标记。所以,给我们的“book”models添加管理员接口就像下面这样:

class Book(models.Model):
title = models.CharField(maxlength=)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
num_pages = models.IntegerField(blank=True, null=True) def __str__(self):
return self.title

class Admin:
    pass

然后重新执行一下上篇文章中的指令:

 python manage.py makemigrations books    #用来检测数据库变更和生成数据库迁移文件

  python manage.py migrate     #用来迁移数据库

  python manage.py sqlmigrate books 0001 # 用来把数据库迁移文件转换成数据库语言

创建新的数据表,上一步将生成管理界面使用的额外数据库表。

在你的 urls.py 中加入模板。如果你仍在用 startproject 生成的 urls.py文件,管理 URL 模板已经在里面了,你需要去掉注释。任何一个方式的 URL 模板应该像下面这样:

from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns(
path('admin/',admin.site.urls),    # django1* 的语句是(r'^admin/', include('django.contrib.admin.urls'))
)

就是这样。现在运行 python manage.py runserver 以启动开发服务器。你将看到像下面这样的东西:

System check identified no issues (0 silenced).
April 26, 2019 - 15:56:06
Django version 2.1.2, using settings 'website.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

现在你可以访问 Django 给你的URL (http://127.0.0.1:8000/admin/ 在进行的例子中),登录,随便看看。

提示:在前面没有创建超级用户,可以在manage.py的文件夹下执行指令,创建用户之后就可以直接登录,页面详见:https://blog.csdn.net/jueyings/article/details/70313925

登陆成功:

页面显示的“南邮吴亦凡”其实是我自己改变模板之后的结果:具体修改的方法可以参见:https://www.jianshu.com/p/a61da9ff9fd6

有一个提醒就是:base_site.html中的代码即使注释掉还是会被读取,所以要把原本拷贝下来的文件中的内容完全删除掉然后再去复制文章中给的代码,我就是因为没把原本文件中的代码删除掉,只是注释掉,结果疯狂报错,浪费了我好久的时间

总体思路:先是在创建的books下的数据模型中键入admin(类)的接口,并重新创建表,然后更改website的urls设置,这样可以建立与创建的website服务器之间的联系;另外,本教程还提供了更改管理界面的设置最后就可以简单创建一个管理book的web服务器

 

Django 管理站点的更多相关文章

  1. Django 1.10中文文档-第一个应用Part2-模型和管理站点

    本教程继续Part1.我们将设置数据库,创建您的第一个模型,并快速介绍Django的自动生成的管理网站. 数据库设置 现在,编辑mysite/settings.py.它是一个用模块级别变量表示Djan ...

  2. 3 第一个Django应用 第2部分(管理站点)

    Django会根据你写的模型文件完全自动地生成管理界面. 管理界面不是让访问网站的人使用的,它服务于网站管理者. 它用于网站的管理员. 3.1创建一个管理员用户 3.2进入管理站点 3.3管理站点的功 ...

  3. Django 1.10中文文档-第一个应用Part7-自定义管理站点

    开发第一个Django应用,Part7 本教程上接Part6.将继续完成这个投票应用,本节将着重讲解如果用Django自动生成后台管理网站. 自定义管理表单 通过admin.site.register ...

  4. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  5. Django学习:创建admin后台管理站点

    Django自带一个后台管理站点,方便我们管理数据.这个界面只给管理员使用,并不对大众开放. 创建管理员用户 py manage.py createsuperuser 如下图所示: 用户名不填的话,默 ...

  6. python学习笔记--Django入门四 管理站点

    上一节  Django入门三 Django 与数据库的交互:数据建模 "管理员界面"是基础功能中的重要部分. django.contrib 包 Django自动管理工具是djang ...

  7. django管理界面使用与bootstrap模板使用

    一.bootstrap模板使用 1.去bootstrap官网找一个合适的模板,下载下来,右键另存为即可 bootstrap官网---->bootstrap中文文档3-------->起步- ...

  8. python 3+djanjo 2.0.7简单学习(三)--Django 管理页面

    django里自带了一个管理页面,也就是后台,下面来学习一下 1.创建超级管理员 python manage.py createsuperuser 键入你想要使用的用户名,然后按下回车键: Usern ...

  9. 【解决方案】Django管理页面无法显示静态文件

    [问题描述]:Django管理界面无法获取页面的css样式文件.图片等静态文件.调试模式下看到静态url显示404. [问题原因]:跟踪源码可以发现,静态文件的url是由Django自带的app(dj ...

随机推荐

  1. WPF线程中获取控件的值和给控件赋值

    WPF中使用线程操作控件,按平常的操作方法操作的话会报异常:调用线程无法访问此对象,因为另一个线程拥有该对象.所以我们要使用Dispatcher类的BeginInvoke()与Invoke()方法.B ...

  2. 洛谷P2611 信息传递

    并查集裸题,记录每个点的胜读,取个min就好了 #include<stdio.h> #include<string.h> #include<algorithm> u ...

  3. 如何在Jenkins上配置一个可以从其它Job取回Artifact的Job

    今天因为工作上的需求,需要在Jenskin上配置一个job, 它应该可以从其它所选择的Job中取回Artifact. 首先,在"构建"步骤中添加 "Copy Artifa ...

  4. 福州大学软件工程1916|W班 第2次作业成绩排名

    作业链接: 结对第一次-原型设计(文献摘要热词统计) 评分准则: 本次作业评分分为两部分,一部分是博客分数(满分25分),另一部分是工程能力分数(满分30分). 博客分数评分标准: 1.在随笔开头请加 ...

  5. python 文件重命名

    将文件夹中的.jsp重命名为.html import os def rename(path): files = os.listdir(path) for file in files: dir = os ...

  6. 安卓BLE测试apk

    安卓蓝牙测试APP 文件下载:蓝牙测试.apk

  7. Tomcat证书安装(pfx和jks)

    tomcat安装证书需要修改tomcat/conf下的server.xml,需要修改Connector port=”8443”开头的标签,一般情况下是注释掉的. 1.pfx 增加keystoreFil ...

  8. ltp-ddt nor qspi spi调试中需要修改的地方

    1 blk_device_dd_readwrite_test.sh before SRC_FILE="/home/root/srctest_file_${DEVICE_TYPE}_$$&qu ...

  9. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  10. 立即执行函数(自执行函数) IIFE

    // 最常用的两种写法 (function(){ /* code */ }()); // 老道推荐写法 (function(){ /* code */ })(); // 当然这种也可以 // 括号和J ...