Python 根本看不到表单输入字段

Python 根本看不到表单输入字段,python,django,Python,Django,我想收集用户输入的内容,然后使用POST方法更改数据库。但当我点击网站上的“发布”按钮时,我一片空白 这是视图.py class PostTweet(View): def post(self, request, username): form = TweetForm(request.POST) print form.is_valid() print request.POST print form.errors if form.is_valid():

我想收集用户输入的内容,然后使用POST方法更改数据库。但当我点击网站上的“发布”按钮时,我一片空白

这是视图.py

class PostTweet(View):

def post(self, request, username):

    form = TweetForm(request.POST)
    print form.is_valid()
    print request.POST
    print form.errors
    if form.is_valid():
        user = User.objects.get(username=username)
        tweet = Tweet(text=form.cleaned_data['text'],
                      user=user,
                      country=form.cleaned_data['country'])
        tweet.save()
        return HttpResponseRedirect('/user/'+username)
    else:
        form = TweetForm()

    return render(request, 'profile.html', {'form':form})

class Profile(View):
    """
    User Profile page reachable from /user/<username> URL
    """
    def get(self, request, username):
        params = {}
        user = User.objects.get(username = username)
        tweets = Tweet.objects.filter(user=user)
        params["tweets"] = tweets
        params["user"] = user
        return render(request, 'profile.html', params)
profile.html

{% extends "base.html" %}
{% block content %}
<div class="row clearfix">
  <div class="col-md-6 col-md-offset-3 column">
    <form id="form" method="POST" action="post/">{% csrf_token %}
      <div class="col-md-8 fieldWrapper">
        {{ form }}
        <span class="input-group-btn">
          <button class="btn btn-default" type="submit">Post</button>
        </span>
      </div>
    </form>
  </div>
  <h3>&nbsp;</h3>
  <div class="col-md-12 column">
    {% for tweet in tweets %}
      <div class="well">
        <span>{{ tweet.text}}</span>
      </div>
    {% endfor %}
  </div>
</div>
{% endblock %}

任何人只要给我一个提示都将不胜感激:-)

仅添加{{form}不应呈现该字段。表单是以字段作为属性的对象。在html中,尝试将
{{form}}
替换为
{{form.text}

您还可以尝试按如下方式传递对象“form”:

return render(request, 'profile.html', form = form)

你的表格有效吗?现在我更仔细地看了一下,你似乎也没有在页面上包含你的表单。在
标记中应该有一个
{{form}
或类似的东西。@ddsnowboard我已经更改了
profile.html
来添加
{form}
,就像你说的那样。但我根本看不到输入的文本文件。你能帮我弄清楚吗?@Alasdair嘿,兄弟,我改变了看法和主题。我希望您能看到:-)什么是post_view方法?添加一些print语句来调试代码,例如
print form.is_valid()
。如果无效,您可以检查
form.errors
@Alasdair bro,我在
tweet.save()
下添加了
print form.is\u valid()
,但是终端没有显示form.is\u valid()的布尔值。我做得不对吗?我仍然看不到输入字段。如果您在这里复制调试模式下可能看到的堆栈跟踪,或者使用inspect元素查看在预期字段出现的位置是否加载了任何内容,您可以帮助我们了解问题。我对Flask非常满意,它是Django的一个更简单的版本,在Flask中,一旦对象被传递到模板,您就可以访问我指出的字段了:/这真是一个很好的建议,兄弟。我会按照你告诉我的方式去做。非常感谢您的帮助:-)
from django.conf.urls import include, url, patterns
from django.contrib import admin
from tweets.views import Index, Profile, PostTweet, HashTagCloud
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^$', Index.as_view()),
    url(r'^user/(\w+)/$', Profile.as_view()),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^user/(\w+)/post/$', PostTweet.as_view()),
    url(r'^hashTag/(\w+)/$', HashTagCloud.as_view()),
)
return render(request, 'profile.html', form = form)