【发布时间】:2017-08-15 17:16:00
【问题描述】:
如何将我的 html 集成到我的表单和模型中,以便它可以处理后端。在管理页面中,一切正常,但我无法将它与我的前端集成。 这是我的models.py
from django.db import models
class SignUp(models.Model):
name = models.CharField(max_length=120, blank=True, null=True)
email = models.EmailField()
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
def __unicode__(self):
return self.email
这是我的 forms.py
from django import forms
from .models import SignUp
class SignUpForm(forms.ModelForm):
class Meta:
model = SignUp
fields = ['name', 'email']
def clean_name(self):
name = self.cleaned_data.get('name')
return name
def clean_email(self):
email = self.cleaned_data.get('email')
try:
match = SignUp.objects.get(email=email)
except SignUp.DoesNotExist:
return email
raise forms.ValidationError('This email address is already subscribed.')
这是我的观点.py
from django.shortcuts import render
from django.core.mail import send_mail
from django.conf import settings
from .forms import SignUpForm
def signUp(request):
form = SignUpForm(request.POST or None)
if form.is_valid():
name = form.clean_name()
email = form.clean_email()
instance = form.save()
subject = 'Bruke Church news'
from_email = settings.EMAIL_HOST_USER
to_email = [email]
contact_message = "%s:Thank you for signing up for our newsletter via %s. we'll be in touch" %(
name,
email)
send_mail (subject,
contact_message,
from_email,
to_email,
fail_silently=False)
context = {
"form": form
}
return render(request, "signUp.html",context)
这是我的 html 文件
<div class="col-md-5">
<div class="row">
<div class="col-md-7">
<font color="#4C194C">Newsletter Sign Up</font>
<form action=" " method="POST">
{% csrf_token %}
<div class="form-group">
<input class="form-control" id="name" type="text" placeholder="Your Name *" name="name">
</div>
<div class="form-group">
<input class="form-control" id="email" type="email" placeholder="Your Email *" name="email">
</div>
<button class="btn btn-primary btn-sm" type="submit">Submit</button>
</form>
</div>
</div>
</div>
感谢您的时间和精力。 注意我不想在我的 html 中使用 {{form.as_p}} 方法
【问题讨论】:
标签: python html django django-models django-forms