来自POST的Django Grabbing Value字段

时间:2013-04-26 16:12:36

标签: django

我有一个应用程序,允许用户创建博客,并允许其他用户对彼此的博客发表评论。问题是。为了创建评论对象,我需要博客ID和文本。我可以通过帖子获取文本数据,但是我无法从POST获取博客ID,而我能想到的唯一方法就是通过表单中的值字段

如何从POST中获取值字段?

我的模特

class Blog(models.Model):

    user = models.ForeignKey(User)
    name = models.CharField(max_length=100)
    created = models.DateTimeField(auto_now_add=True)
    description = models.TextField()



class BlogComment(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    user = models.ForeignKey(User)
    body = models.TextField()
    blog = models.ForeignKey(Blog)

my forms.py

class BlogCommentForm(forms.ModelForm):
        text = forms.CharField(required=False)
        class Meta:
                model = BlogComment
                fields = ()



<form method ="POST"> {% csrf_token %}

    <input type = "hidden" name="d" value= "blog.id" />

{{form}}
</form>

我的观点

def Blogs(request,blog_id):
        form = BlogCommentForm(request.POST)

        if request.method == "POST":
            if form.is_valid():

                text = form.cleaned_data['text']
                value = form.cleaned_data['value']

       form = BlogCommentForm()
       blog.objects.get(pk=blog_id)

    comment = BlogComment.objects.filter(blog=blog)

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

2 个答案:

答案 0 :(得分:1)

request.POST['d']

或者如果没有使用

则避免提出Exception
request.POST.get('d', False)

答案 1 :(得分:1)

您始终可以从url中的?=参数获取博客ID。 当用户评论某人的博客时,该网址可能是http://yoursite.com/blog/id/commenthttp://yoursite.com/blog/comment?blogid=12345