Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在模板中呈现django表单_Python_Django_Django Forms_Django Templates - Fatal编程技术网

Python 无法在模板中呈现django表单

Python 无法在模板中呈现django表单,python,django,django-forms,django-templates,Python,Django,Django Forms,Django Templates,在阅读了之后,我尝试构建自己的表单,但是表单无法在模板中呈现。我在stackoverflow上也遇到过类似的问题,但没有任何解决方案可以解决我的问题。 我有一个基于模型的简单表单。这是我的代码片段。 模型: class Tweet(activity.Activity, models.Model): user = models.ForeignKey('auth.User') text = models.CharField(max_length=160) created_at

在阅读了之后,我尝试构建自己的表单,但是表单无法在模板中呈现。我在stackoverflow上也遇到过类似的问题,但没有任何解决方案可以解决我的问题。
我有一个基于模型的简单表单。这是我的代码片段。
模型:

class Tweet(activity.Activity, models.Model):
    user = models.ForeignKey('auth.User')
    text = models.CharField(max_length=160)
    created_at = models.DateTimeField(auto_now_add=True)
    #...
表格:

class TweetForm(ModelForm):
    #text = forms.CharField(label = 'Tweet', max_length = 100)
    class Meta:
        model = Tweet
        fields = '__all__'
观点:

def user(request, user_name):
    if not request.user.is_authenticated():
        return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
    form = TweetForm()
    user = get_object_or_404(User, username=user_name)
    feeds = feed_manager.get_user_feed(user.id)
    activities = feeds.get(limit=25)['results']
    activities = enricher.enrich_activities(activities)
    context = {
        'activities': activities,
        'user': user,
        'login_user': request.user,
        'form': form
    }
    return render(request, 'look/user.html', context)
html:

<form action="" method="post">
  {% csrf_token %}
  {{ form }}
<input type="submit" value="Tweet" />
上下文
中的键/值对
{'form':form}
没有正常呈现,这就是
{{form}
无法工作的原因。但是
上下文中的任何其他变量都可以正常工作。
这真的让我很困扰,我不明白为什么上下文不起作用。提前感谢您的建议。
附加说明
我试过这个:

{% if form %} form is true
{% else %} form is false
{% endif %}

在我的html模板中,结果是
formisfalse
,这表明
form
变量没有通过上下文传递,或者发生了我无法解释的事情。如果您对此有任何想法,我们将不胜感激。再次感谢。

我已使用模板中的循环呈现了我的表单:

{% for hidden in form.hidden_fields %}
                {{ hidden }}
            {% endfor %}

            {% for field in form.visible_fields %}
                {{ field.errors }}
                {{ field.help_text }}
                {{ field }}
                <br/>
                <br/>
            {% endfor %}
{%for hidden in form.hidden_fields%}
{{隐藏}}
{%endfor%}
{%form.visible_fields%}
{{field.errors}}
{{field.help_text}
{{field}}


{%endfor%}

这将在我的项目中正确显示表单。

我已使用模板中的循环呈现表单:

{% for hidden in form.hidden_fields %}
                {{ hidden }}
            {% endfor %}

            {% for field in form.visible_fields %}
                {{ field.errors }}
                {{ field.help_text }}
                {{ field }}
                <br/>
                <br/>
            {% endfor %}
{%for hidden in form.hidden_fields%}
{{隐藏}}
{%endfor%}
{%form.visible_fields%}
{{field.errors}}
{{field.help_text}
{{field}}


{%endfor%}

这将在我的项目中正确显示表单。

我终于找到了出错的地方。。。而且这很愚蠢。实际上,我在另一个函数中呈现了
user.html
,因此我在方法
user
中所做的任何操作都不起作用。在右视图方法中实例化了一个
表单
实例后,
TweetForm
成功呈现。

我终于发现了哪里出了问题。。。而且这很愚蠢。实际上,我在另一个函数中呈现了
user.html
,因此我在方法
user
中所做的任何操作都不起作用。在右视图方法中实例化
表单
实例后,
TweetForm
已成功呈现。

如何运行
runserver
runserver
工作正常,但表单未呈现且只有一个按钮。如何运行
runserver
runserver
工作正常,但表单未呈现且只有一个按钮虽然我在上下文中添加了表单,但是html模板中没有
form
变量。@Hmm。我不确定它可能是什么。我想你可能是无意中注释掉了代码中的表单字段,而不是真正的代码本身?\@cmakie21这是因为我试图创建一个不基于现有模型的表单,以查看问题是否与
ModelForm
有关。事实证明不是这样。问题是,虽然我在上下文中添加了表单,但html模板中没有
form
变量。@Hmm。我不确定它可能是什么。我想你可能是无意中注释掉了代码中的表单字段,而不是真正的代码本身?\@cmakie21这是因为我试图创建一个不基于现有模型的表单,以查看问题是否与
ModelForm
有关。原来不是。