首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoReverseMatch展示/成功/成功

NoReverseMatch展示/成功/成功
EN

Stack Overflow用户
提问于 2016-05-21 17:56:34
回答 1查看 156关注 0票数 1

在get_success_URL的FileView方法中,我使用了‘display: redirected’作为要重定向的URL。但是我收到了一个错误

代码语言:javascript
复制
Reverse for 'redirect' with arguments '()' and keyword arguments '{'pk': 15}' not found. 1 pattern(s) tried: ['display/success/']

请求方法: POST请求URL:http://127.0.0.1:8000/display/upload/ Django版本: 1.10.dev20160512164014异常类型: NoReverseMatch异常值:

我是不是遗漏了什么?

display/views.py

代码语言:javascript
复制
class FileView(FormView):

    template_name = 'display/upload.html'
    form_class = FileForm

    def form_valid(self, form):

        file_upload = FileModel(file=self.get_form_kwargs().get('files')['file'])
        file_upload.save()
        self.id = file_upload.id

        return HttpResponseRedirect(self.get_success_url())

    def get_success_url(self):

        return reverse('display:redirect', kwargs={'pk': self.id})

def redirect(request):

    return render(request,"display/success.html")

display/urls.py

代码语言:javascript
复制
from django.conf.urls import url
from django.conf.urls.static import static
from django.conf import settings

from . import views

from display.views import FileView

urlpatterns = [
    url(r'^start/', views.initial,name='home'),
    url(r'^upload/',FileView.as_view(),name='upload'),
    url(r'^success/',views.redirect,name='redirect'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-21 18:06:06

看看这一行:

代码语言:javascript
复制
Reverse for 'redirect' with arguments '()' and keyword arguments '{'pk': 15}' not found.

错误信息是告诉你出了什么问题。您已经传递了一个关键字参数,当它试图反向/查找url时,它不会传递,因为您的url被指定为:

代码语言:javascript
复制
url(r'^success/',views.redirect,name='redirect')

不接受任何争论。一种可能是让你的网址变成这样:

代码语言:javascript
复制
^success/(?P<pk>\d+)/$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37366319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档