【发布时间】:2019-01-17 04:23:20
【问题描述】:
Admin site user table 我在 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)
我想显示管理站点上的所有列。
【问题讨论】:
-
尽量不要声明
class NewUserAdmin并将admin.site.register(User,NewUserAdmin)行改为admin.site.register(User) -
我尝试了你所说的,但我在管理站点表上看到的仍然只是用户名。我需要更改扩展管理表的整个过程吗?或者有没有其他方法来扩展管理表,只在默认管理表上添加联系人号码表?