I created a custom admin view in django for one of the models. But the url is available to anyone who is not logged it.
from django.contrib import admin
from django.urls import path
from django.shortcuts import render, redirect
from .models import Question
from django.contrib.admin.views.decorators import staff_member_required
class QuestionAdmin(admin.ModelAdmin):
list_display = ('question_text', 'pub_date') # Your model fields
def get_urls(self):
urls = super().get_urls()
new_urls = [path('upload-csv/',self.upload_csv),]
return new_urls + urls
@staff_member_required
def upload_csv(self,request):
return render(request,"admin/csv_upload.html")
admin.site.register(Question,QuestionAdmin)
I tried adding the staff_member_required
decorator but there is an error message saying 'QuestionAdmin' object has no attribute 'user'