Реверс для 'user_login' не найден. 'user_login' не является допустимой функцией представления или именем шаблона - PullRequest
0 голосов
/ 08 апреля 2020

Это мои файлы, когда я делаю регистрацию и страницу входа, пожалуйста, скажите мне, где это пошло не так.

url.py / home '' 'из django .contrib администратор импорта из django .urls путь импорта, включая из. импорт просмотров

app_name='home'
urlpatterns = [
    path('',views.index, name='index'),
    path('register/',views.register, name='register'),
    path('login/',views.user_login, name='login'),
]
'''
views.py
'''

def user_login(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)
        if user:
            if user.is_active:
                login(request,user)
                return HttpResponseRedirect(reverse('index'))
            else:
                return HttpResponse("Your account was inactive.")
        else:
            print("Someone tried to login and failed.")
            print("They used username: {} and password: {}".format(username,password))
            return HttpResponse("Invalid login details given")
    else:
        return render(request, 'home/login.html', {})
'''
settings.py
'''
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_DIR = os.path.join(BASE_DIR,'templates')
STATIC_DIR = os.path.join(BASE_DIR,'static')
MEDIA_DIR = os.path.join(BASE_DIR,'media')

STATIC_URL = '/static/'
STATICFILES_DIRS = [STATIC_DIR,]
MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'
LOGIN_URL = '/home/user_login/'
'''

1 Ответ

1 голос
/ 08 апреля 2020

изменить адрес для входа в систему на

from django.core.urlresolvers import reverse_lazy

LOGIN_URL = reverse_lazy('home:login')
...