文档章节

使用Django开发一个图书管理系统----04.通过admin模块管理我们的app和model

luckTom
 luckTom
发布于 2014/11/13 10:07
字数 797
阅读 441
收藏 0
点赞 0
评论 0

BOOKMS是一个公司内部的图书管理系统。BOOKMS的后台管理主要使用Django的admin模块。

本系列用多次迭代方法,逐步实现一个图书管理系统BOOKMS。

本文主要介绍app的后台管理和用django-groundwork 生成前台CRUD。

 

一.将自己的models加入到admin的管理

上一回我们可以看到后台的界面了,但细心的你一定发现了里面没有我们要的book模型的管理。下面让我们把自定义的book模型加入到管理中,这样我们就能够通过这个漂亮的界面添加修改删除数据库中的对象了。

在bookapp的目录下创建一个文件admin.py,然后输入以下代码:

from django.contrib import admin
from bookapp.models import *

class BookAdmin(admin.ModelAdmin):
pass

admin.site.register(Book)

这些代码通知管理工具为这些模块逐一提供界面。然后我们重新运行一下再次访问http://127.0.0.1:8000/admin/,这回终于看见我们的模块和模型了。

image

这里有个小BUG要修改一下,打开python安装目录lib子目录里的site.py找到setencoding()方法

if 0:
# Enable to support locale aware default string encodings.
import locale
loc = locale.getdefaultlocale()
if loc[1]:
encoding = loc[1]

if 0改为if 1,如果忽略此步下面添加里输入有中文会在保存时候出错

我们来添加2本图书,数据来源自豆瓣。

image

image

这里是后台的管理界面,这时我们基本可以对我们的模型进行全部的增删改查操作了。关于admin模块的详细修改和细化,后面详细介绍。

二.前台功能生成

后台是可以使用了,但我们的前台还没有呢,当然作为一个懒人我们自己不会去一点点写,django-groundwork 会帮我们生成最基本的CRUD。

首先到https://github.com/madhusudancs/django-groundwork/downloads下载zip包。如果有安装git直接git获取。

下载的包解开后把django-groundwork文件夹复制到我们的project中,然后在setting.py里加入这个app

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'BOOKMS.bookapp',
'django-groundwork',
)

接着我们还是盗命令行然后进入到我们的project目录运行:

python manage.py help

这里我们会发现多了一个groundwork命令。

接下来我们来为bookapp的Book生成页面:

python manage.py groundwork bookapp Book

输入Y确认,它就帮我们生成了。

这是运行项目并访问http://127.0.0.1:8000/bookapp/book/list/

image

三。groundwork 究竟帮我们干了什么

偷懒是不好的,我们起码 要知道groundwork 帮我们都干了什么,下面简单说明。

首先看bookms/urls.py:

urlpatterns += patterns ('',
(r'^bookapp/', include('bookapp.urls')),
)

这里帮我们加入一个路由,url里bookapp开头的都让我们自己的模块去处理。

然后我们在看看bookms/bookapp/urls.py:

 

将CRU(没有

urlpatterns = patterns('',

(r'book/create/$', create_book),
(r'book/list/$', list_book ),
(r'book/edit/(?P<id>[^/]+)/$', edit_book),
(r'book/view/(?P<id>[^/]+)/$', view_book), 
)

D)都添加了隐射。

视图都定义在了bookms/bookapp/views.py这里不再多说。

© 著作权归作者所有

共有 人打赏支持
luckTom
粉丝 5
博文 18
码字总数 142
作品 0
南京
技术主管
使用Django开发一个图书管理系统 05---改造界面

BOOKMS是一个公司内部的图书管理系统。 本系列用多次迭代方法,逐步实现一个图书管理系统BOOKMS。 本文主要介绍使用bootstrap美化前台页面和修改admin模块的添加图书模块时使用豆瓣api获取数...

luckTom ⋅ 2014/11/13 ⋅ 0

WEB框架之---Django初级篇

一、下载与安装(Windows版) 下载地址:https://www.djangoproject.com/download/ 或者通过命令:pip install django==1.11.2进行安装(Python3使用pip3)推荐使用此版本 安装完成后找到dja...

AltBoy ⋅ 2017/06/27 ⋅ 0

Ubuntu利用Django框架快速搭建网站

前言 Django是一个开源的Web应用框架,由Python写成,它的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django采用MVC设计模式注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(...

初雪之音 ⋅ 2016/08/02 ⋅ 0

[转]使用Google App Engine Helper for Django

使用Google App Engine Helper for Django 原著: Matt Brown 译者: DaNmarner 原文链接: http://code.google.com/appengine/articles/appenginehelperfordjango.html 译文链接: http://d......

zting科技 ⋅ 2017/01/11 ⋅ 0

如何在 Django 中使用 django-south,实现数据迁移

在本文中, 将会介绍Django-south的基本概念和基本用法, 帮助Django开发人员简化数据迁移的过程. 在django-admin命令中有syncdb指令, 其目的是根据model.py创建相应的数据库表. 但我们在开发的...

fromdtor ⋅ 2014/04/27 ⋅ 0

django admin应用开发(1) 之 引言

第一节 引言 1.1 准备知识 Python&Django配置 Django官方主页:www.djangoproject.com 开发IDE,个人倾向于PyCharm,在这里可以快速的学习到一些Django使用技巧。 1.2 什么是应用(APP) 要想...

Kinegratii ⋅ 2014/04/04 ⋅ 0

【译】Django官方教程——​编写你的第一个Django app,部分1

编写你的第一个Django app,部分1 【中括号中的绿色字是我自己添加的辅助内容,非官方文档内容,仅供参考】 【英文原文地址:https://docs.djangoproject.com/en/1.6/intro/tutorial01/】 【...

花果山妖 ⋅ 2014/08/03 ⋅ 0

学习django 的两三点事~~连载 (django admin篇)

前言:这是一堂上外教课之后所总结的课后资料,整个一下午的课时,我觉得不错思路很清晰,老师的中文也相当的有地方方言的味道啊,但是对一些不明白问题的解释和回答有别于国内老师的教学方式...

宁宁123韩 ⋅ 2013/03/12 ⋅ 3

Django学习2--创建应用程序、models模型管理、系统管理后台

创建app: 这里,我创建一个资产系统的app,名为assets: # cd iceny python manage.py startapp assets cd assets ls admin.py apps.py init.py migrations models.py tests.py views.py s......

icenycmh ⋅ 2017/11/28 ⋅ 0

《Django企业开发实战》大纲-草稿

《Django企业开发实战》大纲-草稿 the5fire的技术博客2017-07-2016 阅读 在国内写技术书籍可能是件吃力不讨好的事情,弄不好还会被骂,所以大部分有能力写书的人,不想在这个上面花那么多时间...

the5fire的技术博客 ⋅ 2017/07/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

IDEA创建SpringMVC+Mybatis+Maven项目

视频如下(加载有点慢请见谅,服务器不太好): 视频

影狼 ⋅ 28分钟前 ⋅ 0

前阿里P8架构师:精准定制Java架构师学习计划!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,除了掌握J...

java高级架构牛人 ⋅ 31分钟前 ⋅ 0

zookeper学习

https://blog.csdn.net/u012152619/article/category/6470028

~少司命~ ⋅ 32分钟前 ⋅ 0

Spring MVC ,JSON,JQuery,不懂JQuery,跳过了

/spring-mvc-study/src/main/webapp/course_json.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD ......

颖伙虫 ⋅ 32分钟前 ⋅ 0

2018上海云栖大会workshop-日志数据采集与分析对接

摘要: 日志数据采集与分析对接 课程描述 通过日志服务采集用户、数据库、业务等访问数据。演示对于业务日志分析与处理,程序日志查询与监控,打通日志与数据仓库对接案例。 日志种类 网站访...

阿里云云栖社区 ⋅ 33分钟前 ⋅ 0

mahout demo

package com.datamine.CollaborativeFiltering.mysql; import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood; import org.apache.mahout.cf.taste.impl.recommend......

xiaomin0322 ⋅ 34分钟前 ⋅ 0

red hat openstack 12配置要求

安装 openstack 之前,一般要规划整个系统中,到底要多少台机器来参与openstack, 根据rhosp12的官方文档: 最低要求是3台物理机,1台作为director,一台作为 controller ,一台作为computer....

tututu_jiang ⋅ 36分钟前 ⋅ 0

Rocket-Chip在GitHub上的各个源码

在github上通过搜索Rocket-chip可以得到36个结果:其中 https://github.com/freechipsproject/rocket-chip https://github.com/ucb-bar/riscv-boom https://github.com/ucb-bar/fpga-zynq (......

whoisliang ⋅ 41分钟前 ⋅ 0

【HAVENT原创】CentOS 6.5 下 Nginx 的安装与配置

nginx是轻量级的Web服务器、反向代理服务器及邮件服务器,具有占用内存少,并发能力强的优点,已被广泛应用。本文介绍目前最新版本 1.12.2 的安装。 各版本nginx下载地址:http://nginx.org/...

HAVENT ⋅ 47分钟前 ⋅ 0

查看linux系统重启之前的log -- last_kmsg

当 Linux Kernel 出现 BUG 的时候,后走入 panic flow,这个时候由于 Kernel 出现了严重的问题,adbd 也无法响应 adb 连接请求,这个时候想透过读取 Kernel Log Buffer 来看 Kernel Log 是不...

zyzzu ⋅ 48分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部