Как извлечь данные из 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. И это будет делать вашу работу, о которой вы просите. Для подробного и конкретного ответа. Уточните вопрос.