自分のページにアクセスすると、次のエラーが発生します。
レンダリング中にAttributeErrorが発生しました:'WSGIRequest'オブジェクトに属性'get'がありません
エラーは、form.as_pを出力する行である私のhtmlの行「17」で発生します。
htmlは次のようになります。
{% extends "base.htm" %}
{% block content %}
{% if story_list %}
{% for story in story_list %}
<div class="Story">
<a href="#">{{ story.title }}</a>
</div>
{% endfor %}
{% else %}
<p>No stories are present - enter one below</p>
{% endif %}
<h3>Create a new story</h3>
<form action="/addStory" method="post">
{% csrf_token %}
{{ form.as_p }} ***THIS IS LINE 17***
<input type="submit" value="Submit"/>
</form>
{% endblock %}
問題は、2つのことを行うビューがあり、djangoチュートリアルから、get_context_dataメソッドをオーバーライドして、2番目の項目をdjangoコンテキストに追加することです。なぜなら、ええと、それは私がやろうとしていることです、riiiiiiiiight?
#for showing of the stories!
class StoryShowView(ListView):
model = StoryForm
def get_queryset(self):
return getStoryItemsForUser(self.request)
def get_context_data(self, **kwargs):
context = super(StoryShowView,self).get_context_data(**kwargs)
context['form'] = createNewStoryForm(self.request)
return context
ここで、メソッドcreateNewStoryFormはこれを実行します。
def createNewStoryForm(request):
return StoryForm(request)
StoryFormはこれだけです:
class StoryForm(ModelForm):
class Meta:
model = Story
ordering = ['create_date']
ストーリーモデルは通常のモデルであり、おそらく問題の一部ではありませんが、ねえ、私はカットアンドペーストなので、ここに行きます!
class Story(models.Model):
user = models.ForeignKey(User)
post = models.ForeignKey(Post)
title = models.CharField(max_length=100)
is_closed = models.BooleanField()
is_random = models.BooleanField() # for uncategorised stories. Only one of these.
result = models.CharField(max_length=20) #how did the relo work out?
create_date = models.DateTimeField('date created')
def __unicode__(self):
return self.title
私が間違っていることについて何か考えはありますか?
更新:ああ、それは次の行でした::
return StoryForm(request)
「request.POST」を渡すことも、何も渡さないこともできますね。