NoReverseMatch في/تحميل/عند إعادة التوجيه

عندما أقوم بتنفيذ التعليمة البرمجية ، أتلقى الخطأ التالي

<�كود> NoReverseMatch في/upload / عكس "مقارنة" مع وسيطات الكلمات الرئيسية '{u'uploaded_file_url2': '/media/SAMPLE1.xlsx'، u'uploaded_file_url ':' /media/SAMPLE.xlsx '}' غير موجود. حاول 1 نمط (أنماط): ['قارن /'] </القانون>

على اسم التطبيق/urls.py </قوي>

from django.conf.urls import url, include
from . import views

urlpatterns = [
        url(r'^upload/', views.upload,name='upload'),
        url(r'^compare/(?P\w+)/(?P\w+)$',views.compare,name='compare'),
                 ]

على views.py </قوي>

from django.shortcuts import render,redirect
from django.conf import settings
from django.core.files.storage import FileSystemStorage
from django.conf.urls import url
from django.http import HttpResponseRedirect
from django.urls import reverse
def upload(request):
    if request.method == 'POST':
        myfile=request.FILES['myfile']
        myfile2=request.FILES["myfile2"]
        fs = FileSystemStorage()
        filename = fs.save(myfile.name, myfile)
        filename2=fs.save(myfile2.name, myfile2)
        uploaded_file_url = fs.url(filename)
        uploaded_file_url2 = fs.url(filename2)
        return redirect(reverse('myapp:compare',kwargs={"uploaded_file_url":uploaded_file_url,"uploaded_file_url2":uploaded_file_url2 }  ))

    return render(request, 'myapp/upload.html')

def compare(request,uploaded_file_url,uploaded_file_url2):

    a=uploaded_file_url
    b=uploaded_file_url2
    #some code here

    return render(request,'myapp/compare.html',{"a":a,"b":b})

هنا أريد أن أجتاز uploaded_file_url و uploaded_file_url2 للمقارنة

0
لا كان ذلك عن طريق الخطأ.لا تزال أحصل على نفس الخطأ
وأضاف المؤلف Dinesh, مصدر
لا يزال يظهر نفس الخطأ
وأضاف المؤلف Dinesh, مصدر
هذا هو عنوان url الخاص بي ---> urlpatterns = [url (r '^ admin /'، admin.site.urls)، url (r '^'، include ('myapp.urls'، namespace = 'myapp')) ،]
وأضاف المؤلف Dinesh, مصدر
لقد قمت بتحديث الكود الخاص بي. يرجى التحقق الآن
وأضاف المؤلف Dinesh, مصدر
لماذا مقارنة اسم url الخاص بك home ؟ غيّر هذا الاسم إلى مقارنة لإعادة التوجيه بشكل صحيح إلى مقارنة url
وأضاف المؤلف Raja Simon, مصدر
ولكن لا يزال لديك لجعل url قبول الوسيطة الكلمة الرئيسية. <�كود> رابط (ص '^ مقارنة/(P \ ث +)/(P ؟ \ ث +) $'، ...)، </القانون>
وأضاف المؤلف Raja Simon, مصدر
هل يمكنك تحديث سؤالك باستخدام عنوان url الفعلي الخاص بك في تعليمات البرمجة لديك الآن؟
وأضاف المؤلف Raja Simon, مصدر
حسنا ماذا عن myapp urls.py؟
وأضاف المؤلف Raja Simon, مصدر

1 إجابة

أنت تحاول تمرير جميع البيانات من التحميل إلى الوظيفة العكسية ، بحيث تكون جزءًا من عنوان URL. لكن عنوان URL "قارن" لا يتوقع أي حجج على الإطلاق.

إما أن تقوم بتغيير عنوان URL بحيث لا يتوقع الوسائط ، أو تمرير أسماء الملفات التي تم تحميلها في معلمات GET أو في الجلسة.

0
وأضاف
إذا لم أكن أستخدم العكس ، فماذا أفعل للحصول على كل من uploaded_file_urls
وأضاف المؤلف Dinesh, مصدر
لا افهم سؤالك. يجب أن تستخدم العكس.
وأضاف المؤلف Daniel Roseman, مصدر