python - Django 表单提交给我一个 405 错误

标签 python django forms

我正在尝试显示一个表单,并在基于类的 View 中进行提交。

我没有使用 Django 的表单,因为它破坏了我的设计。

我的表单代码:

<form action="." method="POST" >
     <input type='hidden' name='pf_id' value='{{pf.id}}' />
     <input type='hidden' name='content_type' value='portfolio' />
     <textarea id="id_comment" name="comment"></textarea>
     <section><input type="submit" value="submit" name="commentSubmit" class="comment-button"  title="submit" class="comment-button" /></section>
</form> 

views.py中:

class ProjectDetailView(FormMixin, DetailView):
    template_name = 'account/inner-profile-page.html'
    model = ProjectDetail
    context_object_name = 'project'

    def get_object(self, queryset=None):
        return get_object_or_404(ProjectDetail, title_slug = self.kwargs['title_slug'])

    def get_context_data(self, **kwargs):
        context = super(ProjectDetailView, self).get_context_data(**kwargs)
        projects = []
        for st in SubType.objects.all():
            user = self.get_object().user
            pd = ProjectDetail.objects.filter(user=user,project_sub_type__sub_type=st)  
            if pd.count() > 0:
                projects.append((st.name, pd.count()))
        context['projects'] = projects
        return context

    def post(self, request, *args, **kwargs):
        import pdb;pdb.set_trace()

我希望在提交表单时调用 post 方法(希望我的假设是正确的),但事实并非如此,因为提交此表单会将我带到一个空白页面。 URL 没有更改,并且我在 runserver shell 中收到 405 错误消息。为什么会出现这种情况? 我的网址是这样的:

url(r'^project-detail/(?P<title_slug>\w+)/$',ProjectDetailView.as_view(), name="project-detail-view"),
url(r'^project-page/(?P<user_slug>.+)/$',projectPage.as_view(),name='projectPage'),

最佳答案

我猜问题出在你的观点上。由于您继承了 FormMixin 和 DetailView ,因此都没有实现 POST 方法,因此 django 返回 405 错误代码。尝试继承 updateview 或 createview 以支持 post 功能。

关于python - Django 表单提交给我一个 405 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22477586/

相关文章:

python - 如何让我的 Sprite (敌方 Sprite )自己移动?

python - 在自定义模型中存储 Braintree 交易信息

python - Django 管理员不会显示字段

python - tf-idf vectorizer的use_idf参数解释

python - 本地主机上的慢速 Python HTTP 服务器

python - 一组 float

python - 在不相关的 Django 模型上执行 SQL JOIN?

python - 如何在一个页面中显示多条django消息?

c# - 如何使用 C# 同时运行窗体和控制台?

html - 在单选组中对项目进行分组的可访问方式是什么? (HTML5/WAI-咏叹调)