2010-07-06 82 views
1

我移植一個Django項目從1.1.1到1.2.1遷移Django的1.1.1 - > 1.2.1:{%URL%}

現在既不是{% url %}標籤不起作用的作品,也不是@models.permalink -decorated get_absulute_url工作

即我得到

TemplateSyntaxError at/
Caught TypeError while rendering: __init__() got an unexpected keyword argument 'error_message' 

<li><a href="{% url archive_talks %}">talks</a></li> 

而URL模式是這樣的:

url(r'^archive/talks/$', 'talkapp.views.archive_talks', name="archive_talks"), 

有沒有人遇到同樣的問題?有解決方案嗎?

回溯

Environment: 

Request Method: GET 
Request URL: http://localhost:8000/ 
Django Version: 1.2.1 
Python Version: 2.6.1 
Installed Applications: 
['django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.humanize', 
'django.contrib.markup', 
'pinax.templatetags', 
'notification', 
'django_openid', 
'emailconfirmation', 
'django_extensions', 
'robots', 
'mailer', 
'messages', 
'announcements', 
'oembed', 
'djangodblog', 
'pagination', 
'threadedcomments', 
'threadedcomments_extras', 
'timezones', 
'voting', 
'voting_extras', 
'tagging', 
'blog', 
'ajax_validation', 
'avatar', 
'flag', 
'locations', 
'uni_form', 
'django_sorting', 
'django_markup', 
'staticfiles', 
'analytics', 
'profiles', 
'account', 
'signup_codes', 
'tag_app', 
'topics', 
'groups', 
'django.contrib.admin', 
'smartif', 
'annoying', 
'haystack', 
'talkapp'] 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django_openid.consumer.SessionConsumer', 
'account.middleware.LocaleMiddleware', 
'django.middleware.doc.XViewMiddleware', 
'pagination.middleware.PaginationMiddleware', 
'django_sorting.middleware.SortingMiddleware', 
'djangodblog.middleware.DBLogMiddleware', 
'pinax.middleware.security.HideSensistiveFieldsMiddleware', 
'django.middleware.transaction.TransactionMiddleware') 


Template error: 
In template /Users/vikingosegundo/Coding/horizonte/social/templates/base.html, error at line 76 
    Caught TypeError while rendering: __init__() got an unexpected keyword argument 'error_message' 
    66 :    </ul> 


    67 :    </div> 


    68 :    {% endif %} 


    69 :    


    70 :    {% get_sorted_items talkapp.semester all by -semesterStart as semesters %} 


    71 : 


    72 :    {% if semesters%} 


    73 :    <div class="portlet"> 


    74 :    <h3>Archive</h3> 


    75 :    <ul> 


    76 :     <li><a href=" {% url archive_of_talks  %} ">talks</a></li> 


    77 :     <li><a href="{% url archive_of_lectures %}">persons</a></li> 


    78 :     <li><a href="{% url archive_of_semesters %}">semester</a></li> 


    79 :    </ul> 


    80 :    <ul> 


    81 :    {% for n in semesters %} 


    82 :     <li> 


    83 :      <a href="{{ n.get_absolute_url }}">{{ n.semester_name }}</a> 


    84 :     </li> 


    85 :    {% endfor %} 


    86 :    </ul> 


Traceback: 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response 
    100.      response = callback(request, *callback_args, **callback_kwargs) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/views/generic/simple.py" in direct_to_template 
    18.  return HttpResponse(t.render(c), mimetype=mimetype) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in render 
    173.    return self._render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in _render 
    167.   return self.nodelist.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in render 
    796.     bits.append(self.render_node(node, context)) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/debug.py" in render_node 
    72.    result = node.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/loader_tags.py" in render 
    125.   return compiled_parent._render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in _render 
    167.   return self.nodelist.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in render 
    796.     bits.append(self.render_node(node, context)) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/debug.py" in render_node 
    72.    result = node.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/loader_tags.py" in render 
    125.   return compiled_parent._render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in _render 
    167.   return self.nodelist.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in render 
    796.     bits.append(self.render_node(node, context)) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/debug.py" in render_node 
    72.    result = node.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/loader_tags.py" in render 
    62.    result = block.nodelist.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in render 
    796.     bits.append(self.render_node(node, context)) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/debug.py" in render_node 
    72.    result = node.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django_smartif-0.1-py2.6.egg/smartif/templatetags/smartif.py" in render 
    278.    return self.nodelist_true.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/__init__.py" in render 
    796.     bits.append(self.render_node(node, context)) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/debug.py" in render_node 
    72.    result = node.render(context) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/template/defaulttags.py" in render 
    366.    url = reverse(self.view_name, args=args, kwargs=kwargs, current_app=context.current_app) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in reverse 
    350.    *args, **kwargs))) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in reverse 
    271.   possibilities = self.reverse_dict.getlist(lookup_view) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in _get_reverse_dict 
    193.    self._populate() 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in _populate 
    173.      for name in pattern.reverse_dict: 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in _get_reverse_dict 
    193.    self._populate() 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in _populate 
    162.   for pattern in reversed(self.url_patterns): 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in _get_url_patterns 
    243.   patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/core/urlresolvers.py" in _get_urlconf_module 
    238.    self._urlconf_module = import_module(self.urlconf_name) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/utils/importlib.py" in import_module 
    35.  __import__(name) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/pinax/apps/blog/urls.py" in <module> 
    3. from blog import views, models 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/pinax/apps/blog/views.py" in <module> 
    13. from blog.forms import * 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/pinax/apps/blog/forms.py" in <module> 
    7. class BlogForm(forms.ModelForm): 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/pinax/apps/blog/forms.py" in BlogForm 
    11.   error_message = _("This value must contain only letters, numbers, underscores and hyphens.")) 
File "/Users/vikingosegundo/Coding/horizonte/pinax-env/lib/python2.6/site-packages/django/forms/fields.py" in __init__ 
    184.   super(CharField, self).__init__(*args, **kwargs) 

Exception Type: TemplateSyntaxError at/
Exception Value: Caught TypeError while rendering: __init__() got an unexpected keyword argument 'error_message' 
+0

*請*發佈完整的追溯。沒有它,不可能知道錯誤究竟在哪裏。 – 2010-07-06 13:21:47

+0

你是否也可以包含你的BlogForm表單定義。 – Ashok 2010-07-06 13:45:11

回答

4

這個問題無關與實際{% url %}標籤。您在該標籤上觸及它的原因是URL反轉過程實際上會導入您所有的Django視圖,並且在完全不同的位置出現錯誤:BlogForm類。

沒有這種形式的代碼,很難確切地說出那裏有什麼問題,儘管它似乎通過了error_message參數,而不是error_messages(帶有s)。

+0

謝謝! 'blog'是由pinax提供的應用程序。我忘了卸載它。 – vikingosegundo 2010-07-06 14:05:13