سؤال

ولدي خط في شكل جانغو:

{% for aa in my_array %}

والذي يبدو أنه أثار هذا الخطأ:

<اقتباس فقرة>   

وخطأ قالب

     

ويلقى القبض على استثناء أثناء التقديم:   عكس ل   "dev_env.profiles.views.viewPlan" مع   الحجج '(' '،)' والكلمة   الحجج '{}' غير موجود.

وماذا تعني رسالة الخطأ هذه حقا؟

وأظن أن أيا من الخط هو الصحيح، ولكن رسالة الخطأ هو خطأ. أو خطأ غير حقيقية ولكن هذا الخط على بعد ذر الرماد في العيون.

وما على الأرض يجب أن تكون تبحث عنه؟

تحديث: باولو فرز هذا، أدناه

في الواقع، كان لي {% url viewPlan planId %} بضعة خطوط بعيدا (لذلك كان خط خطأ ذكرت خاطئ)، ولكنه تسبب في الخطأ لأن planId كان خاليا في هذه القضية.

هل كانت مفيدة؟

المحلول

هل لديك وجهة نظر اسمه viewPlan التي كنت تفعل شيئا مثل هذا في قالب:

{% url viewPlan %}

وأو شيئا من هذا القبيل في طريقة عرض:

reverse('viewPlan')

إذا كنت تفعل ذلك وأنت لم يكن لديك السطر الذي يبدو مثل هذا:

url(r'^whatever/url/$', 'dev_env.profiles.views.viewPlan', name="viewPlan"),

... في التكوين عنوان موقعك أتصور أن هذا هو الخطأ الذي تحصل عليه. بدلا من ذلك، وعلى الأرجح، وربما كنت التقاط قيمة (ربما معرف أو شيء) في URL viewPlan لكن لم يتم تمرير وسيطة عندما عكس عنوان الموقع. لذلك إذا كنت التقاط أي القيم في التعبير المعتاد، مثل هذا:

url(r'^plans/(\d+)$', 'dev_env.profiles.views.viewPlan', name="viewPlan"),

وتحتاج أن نسميها مثل هذا:

{% url viewPlan 15 %}

وأو مثل هذا:

reverse('viewPlan', args=[15]);

وأين 15 ومن الواضح أن كل ما تتوقع قيمة القبض عليه.

نصائح أخرى

وكان لي نفس المشكلة. في حالتي، كنت قد نسيت لإضافة عناوين المواقع عن التطبيق طفل في ملف urls.py الرئيسي:

urlpatterns = [
    re_path("admin/", admin.site.urls),
    re_path(r"^core/", include("core.urls")),
    re_path(r"^$", welcome, name="welcome")
]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top