Как установить login_required в проекте django, я не использую встроенную аутентификацию django для входа в систему? [закрыто]

пользователь не может войти на любую страницу, введя url любой страницы нужно ли мне что-то изменить в настройках .py

?

я не использую встроенную в django аутентификацию для входа в систему.

view.py для входа в каждую приборную панель,

def asset_login(request):
if request.method == 'POST':
    username = request.POST.get('user_id')
    password = request.POST.get('password')
    try:
        user = UserTable.objects.get(username=username, password=password)
        if user:
            if user.status == 'inactive':
                messages.error(request, 'Your account is inactive.')
                return redirect('asset_login')
            request.session['name'] = user.name
            request.session['role'] =user.role
            if user.role == 'admin':
                return redirect('admin_dashboard')
            elif user.role == 'ciso':
                return redirect('ciso_dashboard')
            elif user.role == 'fnhead':
                return redirect('fnhead_dashboard')
            elif user.role == 'systemadmin':
                return redirect('systemadmin_dashboard')
            elif user.role == 'assetowner':
                return redirect('assetowner_dashboard')
            else:
                messages.error(request, 'Unknown user position')
                return redirect('asset_login')  # Redirect to clear form and message
    except UserTable.DoesNotExist:
        messages.error(request, 'Invalid username or password')
        return redirect('asset_login')  # Redirect to clear form and message
return render(request, 'asset.html')

urls.py

urlpatterns = [
path('asset_login/', views.asset_login, name='asset_login'),
path('admins/', views.admin_dashboard, name='admin_dashboard'),
path('assetdb/', views.assetowner_dashboard, name='assetowner_dashboard'),

view.py для приборной панели

def admin_dashboard(request):
total_users = UserTable.objects.count()
total_assets = AssetTable.objects.count()
total_dept=Department.objects.count()
total_emp=Employee.objects.count()
name = request.session.get('name',None)
role = request.session.get('role', None)
try:
    admin_privileges = adminprivileges.objects.get()
except ObjectDoesNotExist:
    admin_privileges = None
context = {
    'total_users': total_users,
    'total_assets': total_assets,
    'total_dept':total_dept,
    'total_emp':total_emp,
    'name':name,
    'role':role,
    'assetview': admin_privileges.assetview if admin_privileges else False,
    'userview': admin_privileges.userview if admin_privileges else False,
    'employeeview': admin_privileges.employeeview if admin_privileges else False,
    'locationview': admin_privileges.locationview if admin_privileges else False,
    'departmentview': admin_privileges.departmentview if admin_privileges else False,
    'categoryview': admin_privileges.categoryview if admin_privileges else False,
    'rolesview': admin_privileges.rolesview if admin_privileges else False,
    'reportview': admin_privileges.reportview if admin_privileges else False,
    'previlegeedit':admin_privileges.privilegeedit if admin_privileges else False,    
 }
return render(request, 'admin_dashboard.html', context)

Пользователь не может войти на любую страницу, введя url любой страницы.

нужно ли мне что-то изменить в настройках .py

Вернуться на верх