我想为普通用户(而非工作人员)复制django admin及其功能。因此,我所拥有的数据模型将显示在django admin之类的表格中,每列具有过滤器和排序方式。甚至外观(模板)也将相同或相似。登录和注册也应该相同。我该如何复制这些内容而无需从头开始做所有事情,制作视图,模板等?
答案 0 :(得分:0)
Django管理员仅限is_staff = True
的用户。
最好在常规Django视图中创建一个页面并创建所需的行为,例如,使该页面或多个页面需要登录。
有几种方法可以完成此操作:
1个网址:
from django.contrib.auth.decorators import login_required
urlpatterns = [
path('is_loggedin/', login_required(GenericTestView.as_view())),
]
2个基于函数的视图上的装饰器:
from django.contrib.auth.decorators import login_required
@login_required
def restricted_view(request):
return render(request, 'template.html', {})
3个登录混合用于基于类的视图:
from django.contrib.auth.mixins import LoginRequiredMixin
class GenericTestView(LoginRequiredMixin, TemplateView):
template_name = 'template.html'
login_url = '/login/'
redirect_field_name = '/home/'