Отправка сообщения на форум Django не принимается просмотром

Я думал, что когда я нажимаю submit на форме (страница входа), это вызовет мой loginPage View и нажмет request.POST == 'Method', потому что метод формы - post, но он не делает этого, и я не могу войти. Я немного запутался, так как это работало раньше, и я не трогал это с тех пор. Есть идеи, ребята?

У меня есть html-страница входа в систему под названием login_register.html. Ниже,

<form method="POST" action=""> 
    {% csrf_token %}
    <div class="row center">
        <input type="text" name="username" placeholder="Username" autocomplete="off"></input>&nbsp;
        
        <input type="password" name="password" placeholder="Password" autocomplete="off"></input>&nbsp;  

        <input type="submit" class="button-6-custom" value="login"></input>&nbsp;
    </div>
</form>

У меня также есть файл urls.py. Ниже,

path('login/', views.loginPage, name='login'),

И, наконец, у меня есть Вид. Ниже,

from django.contrib.auth.models import User

def loginPage(request):
    
        if request.method == 'POST':
            username = request.POST.get('username')
            password = request.POST.get('password')
    
            try:
                user = User.objects.get(username = user)
            except:
                print("Error - user / password incorrect, does not exist.")
    
            user = authenticate(request, username=username, password=password)
            if user is not None:
                login(request, user)
                return redirect('home')
            else:
                print("User does not exist.")
    
        return render(request, 'base/login_register.html')

Вы должны заполнить атрибут action в форме:

<form method="POST" action="{% url 'login' %}"> 

Примечание: имя URL также может быть 'appname:login'. Это зависит от вашей настройки URL.

В итоге я решил проблему. Проблему вызывал компонент строки поиска. Поигравшись с ним, я переместил его в папку и теперь все работает. Я думаю, что это результат, потому что раньше он находился в main.html, где все было статично, как текст ссылок и т.д. Я переместил его в свой home.html, где все динамично, и теперь все работает.

Спасибо всем за помощь. Это было довольно странно.

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