文档章节

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

luckTom
 luckTom
发布于 2014/11/13 10:07
字数 797
阅读 448
收藏 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这里不再多说。

本文转载自:http://www.cnblogs.com/lt1983/archive/2012/05/16/2504239.html

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

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

luckTom
2014/11/13
0
0
Ubuntu利用Django框架快速搭建网站

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

初雪之音
2016/08/02
126
0
WEB框架之---Django初级篇

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

AltBoy
06/26
0
0
django admin应用开发(1) 之 引言

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

Kinegratii
2014/04/04
0
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
0

没有更多内容

加载失败,请刷新页面

加载更多

docker多容器部署lnmp环境

环境:RHEL7.5 ip:192.168.10.102,主机名:lb02 一、创建web、数据库目录 web网站目录为:/wwwroot,属主属组:www [root@lb02 ~]# mkdir /wwwroot[root@lb02 ~]# useradd -s /sbin/nolo...

人在艹木中
11分钟前
0
0
eclipse运行springboot项目报错‘找不到或无法加载主类’

这是一个很烦躁的问题~,往往困住大家好长时间,然后各种百度。借此,咱将这个问题有可能产生的原因进行一下总结。若有不完善之处欢迎大家在下面留言指出~~ Duang!问题出现 然后开始尝试解决...

Code辉
32分钟前
0
0
springboot oauth2 跨域设置

@Overridepublic void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/security/**") .authentica......

昆虫大侠
34分钟前
0
0
08-利用思维导图梳理JavaSE-泛型

08-利用思维导图梳理JavaSE-泛型 主要内容 1.泛型的基本概念 1.1.定义 1.2.使用前提 1.3.使用泛型的好处 2.泛型的使用 2.1.泛型类定义 2.2.泛型对象定义 2.3.泛型中的构造方法 2.4.泛型方法的...

飞鱼说编程
36分钟前
0
0
Docker 部署 Spring Boot 项目指南

仅想在Docker里运行一个Spring Boot项目,捣鼓了许久。。。 本文主要适用于Windows环境下的Docker 一、运行环境 Windows 10 Maven 3.5 Docker 18.06.1-ce-win73 (19507) 二、创建Spring Boot...

AmosWang
42分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部