2013-03-26 5 views
10

मैं एक शिलालेख रूप है कि काम नहीं करता जबरिवर्स() बहस के बाद ** एक मानचित्रण

प्रस्तुत करने मैं इस त्रुटि मिलती है होना चाहिए:

रिवर्स() के बाद ** एक मानचित्रण होना चाहिए तर्क,

def inscription(request, seance_id): 
    seance = get_object_or_404(Variant, id=seance_id) 
    inscription_config = {'form_class': InscriptionForm, 
          'extra_context': {'seance': seance}}  

    return create_object(request, **inscription_config) 

मेरे प्रपत्र:

0,123,516 str नहीं

यह मेरे विचार है

class InscriptionForm(forms.ModelForm): 
    class Meta: 
     model = Inscription 

    def clean(self): 
     cleaned_data = self.cleaned_data 
     email = cleaned_data.get("mail") 
     mail_confirmation = cleaned_data.get("mail_confirmation") 

     if email != mail_confirmation: 
      raise forms.ValidationError("Les deux adresses mails doivent correspondre") 

     return cleaned_data 

लगता है क्या त्रुटि ट्रिगर ** inscription_config वापसी कथन

में है लेकिन मैं पता नहीं क्यों है, और मुझे कल से

संपादित तलाश रहे हैं

Environment: 

Request Method: POST 
Request URL: http://127.0.0.1:8039/formations/inscription/1/ 
Django Version: 1.2.5 
Python Version: 2.7.2 
Installed Applications: 
['django.contrib.auth', 
'django.contrib.comments', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.admin', 
'ckeditor', 
'constance', 
'constance.backends.database', 
'custom_flatpages', 
'django_extensions', 
'django_mobile', 
'django_xmlrpc', 
'easy_thumbnails', 
'gestion_formations', 
'file_uploader', 
'less', 
'mptt', 
'contact', 
'newsletter', 
'pagination', 
'south', 
'sentry', 
'sentry.client', 
'indexer', 
'paging', 
'contentadmin', 
'gallerie'] 
Installed Middleware: 
('annoying.middlewares.StaticServe', 
'django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'pagination.middleware.PaginationMiddleware') 



Traceback: 

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response 
    100.      response = callback(request, *callback_args, **callback_kwargs) 
File "/home/anass/projects/c139_fc_finance/fc_finance/gestion_formations/views/carts.py" in inscription 
    24.       form_class= InscriptionForm 
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/create_update.py" in create_object 
    118.    return redirect(post_save_redirect, new_object) 
File "/usr/local/lib/python2.7/dist-packages/django/views/generic/create_update.py" in redirect 
    65.   return HttpResponseRedirect(obj.get_absolute_url()) 
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py" in _curried 
    55.   return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs)) 
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" in get_absolute_url 
    969.  return settings.ABSOLUTE_URL_OVERRIDES.get('%s.%s' % (opts.app_label, opts.module_name), func)(self, *args, **kwargs) 
File "/usr/local/lib/python2.7/dist-packages/django/db/models/__init__.py" in inner 
    32.   return reverse(bits[0], None, *bits[1:3]) 
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in reverse 
    351.    *args, **kwargs))) 

Exception Type: TypeError at /formations/inscription/1/ 
Exception Value: reverse() argument after ** must be a mapping, not str 
+6

कृपया संपूर्ण ट्रेसबैक प्रदान करें। जो कोड आप यहां दिखाते हैं वह ऐसा नहीं लगता है कि आप जिस त्रुटि के बारे में बात कर रहे हैं उसका कारण बन जाएगा। –

+0

यह आपके urls.py या उस तरह की कुछ समस्या के समान लगता है। दूसरा नेड ने पूर्ण ट्रेसबैक के बारे में क्या कहा। – Colleen

+0

@NedBatchelder बस ट्रेसबैक जोड़ा गया, धन्यवाद – Armance

उत्तर

13

मैं जवाब देने का प्रयास करता हूं, क्योंकि मुझे एक ही समस्या थी लेकिन मुझे ऑनलाइन जवाब नहीं मिला।

मुझे लगता है कि इस समस्या की उत्पत्ति गलत है get_absolute_url(...) विधि। उदाहरण के लिए, अगर आप इस तरह इसे लिखने यदि:

@models.permalink 
def get_absolute_url(self): 
    return reverse('my_named_url', kwargs={ "pk": self.pk }) 

तो यह अपवाद reverse() argument after ** must be a mapping, not str को जन्म देती है। फिक्स यह @models.permalink डेकोरेटर को दूर करने, इस प्रकार है:

def get_absolute_url(self): 
    return reverse('my_named_url', kwargs={ "pk": self.pk }) 

या वैकल्पिक रूप से डेकोरेटर रखने के लिए और शरीर, संशोधित करने, इस प्रकार है:

@models.permalink 
def get_absolute_url(self): 
    return ('my_named_url',(), { "pk": self.pk }) 

मैं, लगता है कि हालांकि बाद मान्य नहीं है।

संबंधित मुद्दे