当前位置:  开发笔记 > 后端 > 正文

Django方法不允许(POST)

如何解决《Django方法不允许(POST)》经验,为你挑选了1个好方法。

在视图中:

def article_add(request):
    print request.user, " is adding an article"
    if request.method == "POST":
        web_url = request.POST['web_url']
        Uploadarticle(web_url)
        return redirect('myapp:index')

在html中:


在url.py中:

app_name = 'myapp'
urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
    url(r'^$', views.article_add, name='article_add'),
]

我在这里尝试做的是通过html传递url值来查看,调用函数上传数据库,将用户重定向到刷新的同一主页,然后新添加的项目将显示.

不知怎的,每次我提交我都有一个空白页面,在终端我得到一个错误说:

Method Not Allowed (POST): /
"POST / HTTP/1.1" 405 0

ruddra.. 8

正如我在代码中看到的那样,对于两个视图都使用相同的URL,因此,每当您点击URL时/,请求将转到第一个视图(IndexView),该视图可能没有任何post方法.更改article_add视图的URL .这样做:

app_name = 'myapp'
urlpatterns = [
    url(r'^article-add/$', views.article_add, name='article_add'),
    url(r'^$', views.IndexView.as_view(), name='index'),

]

您将能够从URL访问视图 {host_address}/article-add/



1> ruddra..:

正如我在代码中看到的那样,对于两个视图都使用相同的URL,因此,每当您点击URL时/,请求将转到第一个视图(IndexView),该视图可能没有任何post方法.更改article_add视图的URL .这样做:

app_name = 'myapp'
urlpatterns = [
    url(r'^article-add/$', views.article_add, name='article_add'),
    url(r'^$', views.IndexView.as_view(), name='index'),

]

您将能够从URL访问视图 {host_address}/article-add/

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有