订阅表单有问题(Django)

2024-05-23 22:45:41 发布

您现在位置:Python中文网/ 问答频道 /正文

拜托,救命啊。。我不明白我该怎么做这个代码来工作。。你知道吗

你知道吗主页.html地址:

<form class="subscribe-form" action="{% url 'subscribe' %}" method="POST">{% csrf_token %}
    {{ form }}

    <button class="btn btn-main btn-lg" type="submit">Подписаться!</button>
</form>

{% if success %}
<div class="subscribe-result">
    {{ success }}
</div>
{% endif %}

你知道吗网址.py地址:

url(r'^$', 'interior_app.views.home', name='home'),
url(r'^subscribe/$', 'interior_app.views.subscribe', name='subscribe')

你知道吗型号.py地址:

class Subscriber(models.Model):
    email = models.EmailField('', max_length=100, null=True, blank=True)

你知道吗表单.py地址:

class SubscriberForm(forms.ModelForm):
    class Meta:
        model = Subscriber
        fields = ['email']

你知道吗管理员.py地址:

class SubscriberAdmin(admin.ModelAdmin):
    list_display = ('email',)

admin.site.register(Subscriber, SubscriberAdmin)

你知道吗视图.py地址:

def home(request):
    portfolios = PortfolioObject.objects.all()
    photos = []
    for portfolio in portfolios:
        for obj in portfolio.photo_set.all():
            photos.append(obj)

    form = SubscriberForm()
    context = {"photos": photos[::2], "form": form}

    return render(request, "home.html", context)

def subscribe(request):
    print request
    success = ''
    if request.method == "POST":
        print request.POST
        form = SubscriberForm(request.POST)
        print form
        if form.is_valid():
            form.save()
            success = "Ваш Email успешно отправлен"
            form = SubscriberForm()
    else:
        form = SubscriberForm()

    context = {"photos": photos[::2], "form": form, "success": success}

    return render(request, "home.html", context)

我输入电子邮件的形式,按下按钮,什么都没有发生。 管理中的任何数据,任何{{success}。你知道吗

我不需要阿贾克斯。。我只想用Django做这个功能


Tags: pyformurlhomerequest地址htmlcontext