博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3 django-admin 添加业务模块,多字段搜索
阅读量:6691 次
发布时间:2019-06-25

本文共 2834 字,大约阅读时间需要 9 分钟。

hot3.png

介绍了怎么初始化一个django-admin项目,并且里面默认初始化了后台用户模块

怎么在django-admin中添加其他业务模块?基于上一篇的项目,继续

初始化一个模块:博客

$ python3 manage.py startapp blog

app配置中添加 blog

打开/mydjango/mydjango/settings.py

INSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'blog', #新添加]

blog模块中,新加类型article、comment

打开 /mydjango/blog/models.py,添加内容:

from django.db import models# Create your models here.class Article(models.Model):    # 无需写id,pymysql会自动生成自增长主键id    title = models.CharField(max_length=100, verbose_name='文章标题')    content = models.TextField(verbose_name='文章内容')    author = models.CharField(max_length=30, verbose_name='作者')    time = models.DateTimeField(auto_now=True, verbose_name='时间')class Comment(models.Model):    articleid = models.IntegerField(verbose_name='文章id')    user = models.CharField(max_length=30, verbose_name='ls评论人')    content = models.CharField(max_length=100, verbose_name='评论内容')    time = models.DateTimeField(auto_now=True, verbose_name='时间')

更新变化到mysql

$ python3 manage.py migrate.报错...No migrations to apply.  Your models have changes that are not yet reflected in a migration, and so won't be applied.  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

这里提示先执行manage.py makemigrations,然后执行manage.py migrate

$ python3 manage.py makemigrations Migrations for 'blog':  blog/migrations/0001_initial.py    - Create model Article    - Create model Comment
$ python3 manage.py migrate Operations to perform:  Apply all migrations: admin, auth, blog, contenttypes, sessionsRunning migrations:  Applying blog.0001_initial... OK

执行成功,查看数据库

表名是以 模块_类型 定义的

添加路由配置

打开/mydjango/mydjango/urls.py,默认已存在下面配置,如果没有,则添加:

from django.contrib import adminfrom django.urls import pathurlpatterns = [    path('admin/', admin.site.urls),]

添加模块注册配置

打开/mydjango/blog/admin.py,添加配置:

from django.contrib import adminfrom .models import Article, Comment# 文章模块class ArticleAdmin(admin.ModelAdmin):    list_display = ['id', 'title', 'content', 'author', 'time']    # 搜索字段    search_fields = ('title', 'author',)# 评论模块class CommentAdmin(admin.ModelAdmin):    list_display = ['id', 'articleid', 'user', 'content', 'time']    #搜索字段    search_fields = ('user', 'content',)# 注册模块url到后台admin.site.register(Article, ArticleAdmin)admin.site.register(Comment, CommentAdmin)# 设置页面显示信息admin.AdminSite.site_header = 'admin管理系统'admin.AdminSite.site_title = 'django管理后台'

访问后台页面

浏览器访问 ,多了BLOG的管理模块

添加数据

搜索数据,article可使用标题和作者搜索(因为上面的admin.py配置的)

# 文章模块class ArticleAdmin(admin.ModelAdmin):    list_display = ['id', 'title', 'content', 'author', 'time']    # 搜索字段    search_fields = ('title', 'author',)

使用标题搜索

使用作者搜索

评论模块相似。

项目地址

转载于:https://my.oschina.net/yimingkeji/blog/2873260

你可能感兴趣的文章
软件包的安装和管理
查看>>
关于ready和load方法作用于不同情况下的比较
查看>>
Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载
查看>>
使用CSS让元素尺寸缩小时保持宽高比例一致
查看>>
HDU-2955-Robberies
查看>>
如何使Linux系统上的程序开机后自动运行 (转)
查看>>
Silverlight中 Content="{TemplateBinding Content}" bug
查看>>
Jsoup后台解析html、jsp网页
查看>>
中间件详解,Django复习
查看>>
SharePoint 2010 部署架构
查看>>
JMETER 生成测试报告
查看>>
ScrollView中嵌套ListView
查看>>
XML再深入
查看>>
顺序表基础操作--练习
查看>>
Spring Cloud底层原理
查看>>
SSM前言——相关设计模式
查看>>
小清丽微距花卉拍摄示范
查看>>
GetSysColor()函数可以得到系统的颜色
查看>>
项目积累demo-01
查看>>
JAVA面向对象编程深入理解图
查看>>