首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管在NoReverseMatch中包含了url名称,但我还是得到了错误urls.py。

尽管在NoReverseMatch中包含了url名称,但我还是得到了错误urls.py。
EN

Stack Overflow用户
提问于 2016-05-21 11:16:55
回答 1查看 113关注 0票数 0

尽管在urls.py中包含了url名称,但我还是得到了以下错误:

代码语言:javascript
复制
Reverse for 'upload' with arguments '()' and keyword arguments '{}' not found.0 pattern(s) tried: []

我在urls.py中将url名称命名为“upload”,home.html最初应该将其发布到“upload”,这是我所包含的FileView:

代码语言:javascript
复制
url(r'^upload/',FileView.as_view(),name='upload')

views.py

代码语言:javascript
复制
def initial(request):
    return render(request,'display/home.html')

class FileView(FormView):
    template_name = 'display/upload.html'
    form_class = FileForm
    success_url = 'success/'


    def form_valid(self, form):
    file_upload = FileModel(
    fileup=self.get_form_kwargs().get('files')['fileup'])

    #results = FileForm.objects.filter(Q(name__icontains=your_search_query)     | Q(startdate__icontains=your_search_query) |   Q(enddate__icontains=your_search_query)).order_by('pub_date')

     file_upload.save()
    self.id = file_upload.id
    return render_to_response('display/success.html')
    return HttpResponseRedirect(self.get_success_url())

    def get_success_url(self):
    return reverse('file_upload', kwargs={'pk': self.id})

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

urls.py

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

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='success'),
    #url(r'^upload',views.upload,name='upload'),
    ]

模板home.html

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <title>CSV FILE UPLOAD</title>
    </head>

<body>
    <form enctype="multipart/form-data" method="POST" action="{% url 'upload' %}">
        {% csrf_token %}



        <input type="submit" name="submit"  />
    </form>
</body>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-21 11:40:25

这个urls.py看起来不像根url .也许你的根目录里缺少了一个包含?

示例:

代码语言:javascript
复制
urlpatterns = [
    url(r'^display/', include('display.urls', namespace='display')),
]

如果它是这样包含的,您应该将upload url引用为:

代码语言:javascript
复制
<form enctype="multipart/form-data" method="POST" action="{% url 'display:upload' %}">

其他可能的解决方案,尝试在url regex末尾添加$

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

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='success'),
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37362221

复制
相关文章

相似问题

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