python - 如何在 django 的管理站点上显示列名?
问题描述
管理站点用户表 我正在 django 默认管理表上扩展我的管理表。添加列后,当我进入管理站点时,我只能在用户部分看到用户名列名称。但是当点击它时,它会显示列名并准备好放置一些字段。我想要的只是在访问用户表时显示所有列名。
我只是 Django 框架的新手,我阅读了一些文档和扩展管理表的方法。我想要的只是在现有的管理表上添加列名。
#models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
contact_number = models.CharField(max_length=250, blank=True)
#views.py
from django.shortcuts import render
from .models import User
from django.urls import reverse_lazy
from django.views import generic
from .forms import NewUserCreationForm
from django.http import HttpResponseRedirect
class SignUp(generic.CreateView):
form_class = NewUserCreationForm
success_url = reverse_lazy('login')
template_name = 'signup.html'
def userView(request):
users = User.objects.all()
return render(request,'registration/view_users.html',
{"all_users":users})
#admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User
from .forms import NewUserCreationForm, NewUserChangeForm
class NewUserAdmin(UserAdmin):
add_form = NewUserCreationForm
form = NewUserChangeForm
model = User
list_display =
['username']
admin.site.register(User,NewUserAdmin)
我想显示管理站点上的所有列。
解决方案
list_display = ['username']
只会显示用户名字段,因此您还需要添加contact_number字段,如下所示:
list_display = ['username', 'contact_number']
将所有列添加到要显示的 list_display 字段。
您也可以对所有字段尝试此操作:
list_display = [field.name for field in User._meta.get_fields()]
这将按排序顺序显示列表。
推荐阅读
- android - 除了检查 sdk 路径和卸载 avast 之外,如何解决“无法定位 adb 问题”
- javascript - 在 Node.js 中调用我的一个函数时,程序首先调用 emitHookFactory 并陷入无限循环
- java - 使用 Spring Boot 从 Kafka 队列消费时获取序列化异常
- python - 将 Hessian 定义为零
- javascript - 如何通过列表向下键或向上键以触发对事件侦听器内项目的关注?
- c++ - malloc - 运行时内存指针类型分配
- c - 为什么这个while循环没有中断?
- javascript - 如何使用 babel cli 构建整个项目结构
- mfc - IFileDialog 或 SHBrowseForFolder:如何打开显示“计算机”的内容,最好不显示左侧的桌面等?
- c++ - 本地 std::bernoulli_distribution 如何创建准确分布的数据?