【问题标题】:Django 1.10 Form Fields Using Foundation 6 Not Showing In Template使用 Foundation 6 的 Django 1.10 表单字段未显示在模板中
【发布时间】:2017-01-01 17:49:10
【问题描述】:

我正在尝试在 Django 中构建一个简单的登录页面,允许用户注册电子邮件通讯。我正在使用这个千篇一律的模板 - https://github.com/Parbhat/cookiecutter-django-foundation - 因为它从跳转中集成了 Foundation 6。

挑战在于模板中没有显示表单字段。任何帮助将不胜感激。

我的 models.py 是:

class Subscribe(models.Model):
    email = models.EmailField()
    subscription_status = models.BooleanField(default=True)
    create_date = models.DateTimeField(auto_now_add = True, auto_now = False)
    update_date = models.DateTimeField(auto_now_add = False, auto_now = True)

    def __unicode__(self):
        return self.email

我的 forms.py 是:

from django import forms
from .models import Subscribe

class SubscribeForm(forms.ModelForm):
    class Meta:
        model = Subscribe
        fields = ('email',)

我的views.py是:

from django.shortcuts import render

from subscribers.forms import EmailForm, SubscribeForm
from .models import Subscribe


def home(request):

    form = SubscribeForm(request.POST or None)
    if form.is_valid():
        new_join = form.save(commit=False)
        #we might need to do something here.
        email = form.cleaned_data['email']
        new_join_old, created = Subscribe.objects.get_or_create(email=email)
        #new_join.save()

    context = {"form": form}
    template = "pages/home.html"
    return render(request, template, context)

我的模板是:

{% extends "base.html" %}

{% load foundation_formtags %}
{% block content %}


    <section class="hero">
    <!-- HERO SECTION -->
        <div class="homebox">
            <div class="wrap">
                <p>Lorem Ipsum</p>
                <form class="form" method="post" action=""> {% csrf_token %}
                    {{ form|as_foundation }}
                    <input type='submit' value='Subscribe' class='btn' />
                </form>
            </div>
        </div>  
    </section>

我的 urls.py 是:

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

from django.conf.urls import url

from . import views
from subscribes.views import home

urlpatterns = [
    url(r'^$', home, name='home'),

]

谢谢!

【问题讨论】:

  • 我从未使用过 django-foundation,但是如何将表单字段更改为 fields = '__all__'
  • 如果在模板中使用{{ form }},表单是否显示(没有基础样式)?

标签: django django-forms zurb-foundation-6


【解决方案1】:

我使用您的代码创建了该应用程序,它可以正常工作。

https://github.com/hvlads/Foundation

应用程序名称 - blin

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 2023-01-10
    • 2011-10-11
    • 2017-05-10
    • 2018-04-07
    • 2015-08-19
    • 2011-01-15
    • 2018-03-21
    相关资源
    最近更新 更多