编写Django应用一管理页面

静态文件

例如JavaScript,css,images,等的文件夹都叫做静态文件,实际上,官方教程可能有坑,因为按照他的来操作,我的并没有成功,需要在vote目录下创建一个static的文件夹,如果你不打算更改其他配置的话,那么文件夹的名字是固定的,在打开setting.py,加上

STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

告诉Django在哪里找到你的文件,
接下来就可以在里面创建你的css文件了,在index.html里面需要加载静态文件

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'vote/style.css' %}">

{% static %} 模板标签会生成静态文件的绝对路径。
此外如果想要添加其他样式的话,那么就和前端一样了

admin管理页面

自定义后台表单
通过 admin.site.register(Question) 注册 Question 模型,Django 能够构建一个默认的表单用于展示。通常来说,你期望能自定义表单的外观和工作方式。你可以在注册模型时将这些设置告诉 Django。


from .models import Question


class QuestionAdmin(admin.ModelAdmin):
    fields = ['pub_date', 'question_text']

admin.site.register(Question, QuestionAdmin)

在这里插入图片描述
现在添加choice类,类似于question

from django.contrib import admin

from .models import Choice, Question
# ...
admin.site.register(Choice)

在这里插入图片描述这里会出现question,是因为前面关联了question类的原因
此时:

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)

这会告诉 Django:“Choice 对象要在 Question 后台页面编辑。默认提供 3 个足够的选项字段。”

自定义更改后台列表

默认情况下,Django 显示每个对象的 str() 返回的值。但有时如果我们能够显示单个字段,它会更有帮助。为此,使用 list_display 后台选项,它是一个包含要显示的字段名的元组,在更改列表页中以列的形式展示这个对象:

class QuestionAdmin(admin.ModelAdmin):
    # ...
    list_display = ('question_text', 'pub_date')

在这里插入图片描述

list_filter = ['pub_date']

这些都是一些制定好的属性与方法具体看这个
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值