Как извлечь данные из html-формы с помощью django?

Итак, ребята, у меня есть обычная html форма с некоторым текстовым вводом для регистрации пользователя, форма выглядит следующим образом:

<form id="signup-form" action="#" method="post">
                 <label for="name">Full Name</label>
                 <input autocomplete="off" type="text" name="username" id="name" class="name">

                 <label for="email">Email Adderss</label>
                 <input autocomplete="off" type="email" name="emailAdress" id="email" class="email">
                 
                 <label for="phone">Phone Number - <small>Optional</small></label>
                 <input autocomplete="off" type="text" name="phone" id="phone">

            
                 <label for="password">Password</label>
                 <input autocomplete="off" type="password" name="password" id="password" class="pass">
              
                 <label for="passwordCon">Confirm Password</label>
                 <input type="password" name="passwordCon" id="passwordCon" class="passConfirm">
                 <input type="submit" form="signup-form" value="Signup Now" id="submit">
           </form>

и я хочу знать, как я могу хранить значения каждого ввода, когда кнопка отправлена и сохранить их в базе данных, есть ли способ вызвать поле ввода по его ID и сохранить его в Django?

В вашем шаблоне кода не хватает многих вещей, таких как url, представления и модели. С какими представлениями вы работаете, url формы отправки, и какая база данных. Но вот простая структура формы отправки, если вы используете модель пользователя django и не используете пользовательскую модель .

У вас есть шаблон формы. Он работает нормально, но добавьте новое поле после тега для csrf_verification шаблона.

<form>
{% csrf_token %}
...

...
</form>

Ваш urls.py для регистрации

from django.urls import path
from . import views

urlpatterns = [
    path("signup/" , views.signUpView , name = "user-signup") , 
]

Ваш views.py Здесь я использую представление на основе функций и django User model.

from django.contrib.auth.models import User
from django.contrib.auth import login

def signUpView(request , *args , **kwargs):
    if request.method == "POST":
        username = request.POST.get("username")
        emailAddress = request.POST.get("emailAddress")
        password = request.POST.get("password")
        
        # get all your fields which you gave in the form.

        user = User(userrname = username , email = emailAddress )
        user.set_password(password)
        user.save()
        login(request , user)
        return redirect("homepage")
    else :
        return render(request , "signupPage.html")

Это ваш основной шаблон и работа страницы регистрации django. И это будет делать вашу работу, о которой вы просите. Для подробного и конкретного ответа. Уточните вопрос.

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