Django3 如何使用静态文件/如何自定义后台管理页面=6
一、项目静态文件
1.1 创建css文件
在polls目录下创建static/polls/style.css
并写入以下内容:
li a {
color: green;
}
li a:hover {
color: red;
}
1.2 引入css文件
在index.html文件中添加:
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}">
1.3 重启server,查看效果
当鼠标悬浮在第三项时:
1.4 添加背景
在polls/static/polls/目录中新建images文件夹。
并在其中放置一张background.gif
图片。
在style.css中添加:
body {
background: white url("images/background.gif") no-repeat;
}
重启django访问主页即可查看:
二、修改后台界面
2.1 修改polls/admin.py
from django.contrib import admin
from .models import Question
class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
('main', {'fields':['question_text']}),
('Date information', {'fields':['pub_date']}),
]
admin.site.register(Question, QuestionAdmin)
修改后的后台界面如图:
再次更改polls/admin.py
from django.contrib import admin
from .models import Choice, Question
class ChoiceInline(admin.StackedInline):
model = Choice
extra = 3
class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question_text']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
inlines = [ChoiceInline]
admin.site.register(Question, QuestionAdmin)
通过 TabularInline
(替代 StackedInline
),关联对象以一种表格式的方式展示,显得更加紧凑:
再次修改polls/admin.py中的QuestionAdmin函数:
class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question_text']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
inlines = [ChoiceInline]
list_display = ('question_text', 'pub_date', 'was_published_recently')
2.2 添加过滤器
修改QuestionAdmin如下图:
class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question_text']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
inlines = [ChoiceInline]
list_display = ('question_text', 'pub_date', 'was_published_recently')
list_filter = ['pub_date']
添加之后如下图:
在过滤器后面再加一条:
search_fields = ['question_text']
效果如下图:
有了计划记得推动,不要原地踏步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)