【发布时间】:2016-01-05 12:10:54
【问题描述】:
我是 Django 的新手,我正在尝试创建一个表单。问题是,当我呈现表单时,文本字段不会出现,但按钮会出现。
该项目是一个类似推特的应用程序,表单是用户放置文本然后发布的地方。
forms.py:
from django import forms
class TweetForm(forms.Form):
text = forms.CharField(widget=forms.Textarea(attrs={'rows': 1, 'cols': 85}), max_length=160)
country = forms.CharField(widget=forms.HiddenInput())
view.py:
class PostTweet(View):
def post(self, request, username):
form = TweetForm(self.request.POST)
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()
words = form.cleaned_data['text'].split(" ")
for word in words:
if word[0] == "#": #Separamos todas las letras del tweet y si empieza con #, se va a crear un hashtag de esa palabra
hashtag, created = HashTag.objects.get_or_create(name=word[1:])
hashtag.tweet.add(tweet)
return HttpResponse('/user/' +username)
模型.py:
class HashTag(models.Model):
#HashTah Model:
name = models.CharField(max_length=64, unique=True)
tweet = models.ManyToManyField(Tweet)
def __unicode__(self):
return self.name
模板:
{% extends "base.html" %}
{% block content %}
<div class="row clearfix">
<div class="col-md-12 column">
<form method="post" action="post/">{% csrf_token %}
<div class="col-md-8 col-md-offset-2 fieldWrapper">
{{ form.text.errors }}
{{ form.text }}
</div>
{{ form.country.as_hidden }}
<div>
<input type="submit" value="Post">
</div>
</form>
</div>
<h3> </h3>
<div>
{% for tweet in tweets %}
<div class="well">
<span>{{ tweet.text }}</span>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
【问题讨论】:
-
显示获取方法代码
标签: python django python-2.7 django-forms django-templates