I am trying to save a contact form, but i am not using the django form but instead the input field.
I am getting the name, email address and message body from the html templates using input field like this <input type="text" id="name">
but the form doesn't get any data from the input field, it seems i am missing something but i cannot find out what is happening.
I have tried passing in the name, email and message into id="name"
id="email"
id="message"
but nothing still happends.
This is my code index.html
<form method="POST">
{% csrf_token %}
<input type="text" id="name" value="" />
<input type="text" id="email" value="" />
<input type="text" id="address" value="" />
<button type="button">Let's Withdraw</button>
</form>
views.py
if request.method == "POST":
name = request.POST.get("name")
email = request.POST.get("email")
message= request.POST.get("message")
print("Message Sent")
return redirect("core:index")
else:
pass
CodePudding user response:
This is your form
<form method="POST">
{% csrf_token %}
<input type="text" id="name" value="" />
<input type="text" id="email" value="" />
<input type="text" id="address" value="" />
<button type="button">Let's Withdraw</button>
</form>
change to this
<form method="POST">
{% csrf_token %}
<input type="text" id="name" name="name" value="" />
<input type="text" id="email" name="email" value="" />
<input type="text" id="address" name="message" value="" />
<button type="submit">Let's Withdraw</button>
</form>
add the
name=" ... "
attribute in your input field and the corresponding values e.g name, email, address.Change your button type to submit as your would be submiting a form