2017-02-02 12 views
0

설치가 성공적으로 완료, 포럼 및 주제 잘하지만 문제가 포함되어있는 경우 - 나는 유니 코드 문자 (예 : 러시아어)로 주제를 게시 할 경우,이 NoReverseMatch을 :NoReverseMatch, 포럼의 제목은 유니 코드 문자

NoReverseMatch at /forum/ 
Reverse for 'forum' with arguments '('', 6)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['forum/forum/(?P<slug>[\\w-]+)-(?P<pk>\\d+)/$'] 

인코딩 문제입니다. 문제는 단지 파일을 수정하고 오류를 수정하는 방법을 모른다는 것입니다. 예를 들어, prsto # - * - coding : utf-8 - * -을 넣어야합니다. 그러나 어디에서?

Request Method: GET 
Request URL: http://127.0.0.1:8000/forum/ 

Django Version: 1.10.2 
Python Version: 3.4.4 
Installed Applications: 
['django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'main_site', 
'ckeditor', 
'ckeditor_uploader', 
'mptt', 
'haystack', 
'widget_tweaks', 
'machina', 
'machina.apps.forum', 
'machina.apps.forum_conversation', 
'machina.apps.forum_conversation.forum_attachments', 
'machina.apps.forum_conversation.forum_polls', 
'machina.apps.forum_feeds', 
'machina.apps.forum_moderation', 
'machina.apps.forum_search', 
'machina.apps.forum_tracking', 
'machina.apps.forum_member', 
'machina.apps.forum_permission'] 
Installed Middleware: 
['django.middleware.security.SecurityMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware', 
'machina.apps.forum_permission.middleware.ForumPermissionMiddleware'] 


Template error: 
In template C:\Python34\lib\site-packages\machina\templates\machina\forum\index.html, error at line 0 
    Reverse for 'forum' with arguments '('', 7)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['forum/forum/(?P<slug>[\\w-]+)-(?P<pk>\\d+)/$'] 1 : {% extends 'board_base.html' %} 
    2 : {% load i18n %} 
    3 : {% load mptt_tags %} 
    4 : {% load forum_tags %} 
    5 : 
    6 : {% block sub_title %}{% trans "Index" %}{% endblock sub_title %} 
    7 : 
    8 : {% block content %} 
    9 : <br /> 
    10 :  <div class="row"> 


Traceback: 

File "C:\Python34\lib\site-packages\django\core\handlers\exception.py" in inner 
    39.    response = get_response(request) 

File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in _get_response 
    217.     response = self.process_exception_by_middleware(e, request) 

File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in _get_response 
    215.     response = response.render() 

File "C:\Python34\lib\site-packages\django\template\response.py" in render 
    109.    self.content = self.rendered_content 

File "C:\Python34\lib\site-packages\django\template\response.py" in rendered_content 
    86.   content = template.render(context, self._request) 

File "C:\Python34\lib\site-packages\django\template\backends\django.py" in render 
    66.    return self.template.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    208.      return self._render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in _render 
    199.   return self.nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\loader_tags.py" in render 
    174.   return compiled_parent._render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in _render 
    199.   return self.nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\loader_tags.py" in render 
    174.   return compiled_parent._render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in _render 
    199.   return self.nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\loader_tags.py" in render 
    70.     result = block.nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\loader_tags.py" in render 
    70.     result = block.nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\library.py" in render 
    245.   return t.render(new_context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    210.     return self._render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in _render 
    199.   return self.nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\defaulttags.py" in render 
    315.     return nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\mptt\templatetags\mptt_tags.py" in render 
    260.   bits = [self._render_node(context, node) for node in roots] 

File "C:\Python34\lib\site-packages\mptt\templatetags\mptt_tags.py" in <listcomp> 
    260.   bits = [self._render_node(context, node) for node in roots] 

File "C:\Python34\lib\site-packages\mptt\templatetags\mptt_tags.py" in _render_node 
    253.   rendered = self.template_nodes.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\defaulttags.py" in render 
    315.     return nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\defaulttags.py" in render 
    315.     return nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\defaulttags.py" in render 
    315.     return nodelist.render(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render 
    994.     bit = node.render_annotated(context) 

File "C:\Python34\lib\site-packages\django\template\base.py" in render_annotated 
    961.    return self.render(context) 

File "C:\Python34\lib\site-packages\django\template\defaulttags.py" in render 
    439.    url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app) 

File "C:\Python34\lib\site-packages\django\urls\base.py" in reverse 
    91.  return force_text(iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))) 

File "C:\Python34\lib\site-packages\django\urls\resolvers.py" in _reverse_with_prefix 
    392.    (lookup_view_s, args, kwargs, len(patterns), patterns) 

Exception Type: NoReverseMatch at /forum/ 
Exception Value: Reverse for 'forum' with arguments '('', 7)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['forum/forum/(?P<slug>[\\w-]+)-(?P<pk>\\d+)/$'] 
+0

확인할 URL 정의 및 호출 코드를 추가하십시오. 파이썬 2.7? –

+0

아니요, 파이썬 3.4를 사용합니다 –

답변

0

그것은 장고 - '기계의 버그입니다. 포럼 이름의 유니 코드 기호에는 비어있는 슬러그 필드가 생성되어 NoReverseMatch 예외가 발생합니다. 코드에서

봐 여기 여기

class AbstractForum(MPTTModel, DatedModel): 
... 
    def save(self, *args, **kwargs): 
     ... 
     # Update the slug field 
     self.slug = slugify(force_text(self.name)) 
     ... 

가 slugify 정의입니다 /machina/apps/forum/abstract_models.py :

def slugify(value, allow_unicode=False): 
    ... 

빠른 수정. 아래의 save() 메소드 구현을 업데이트하고 admin에서 모든 포럼을 다시 저장하십시오.

self.slug = slugify(force_text(self.name), allow_unicode=True) 

이 수정 프로그램은 테스트되었습니다.

+0

나는 그 URL을 가지고 있습니다 : url (r '^ forum /', include (board.urls)). 어디에 'u'를 추가해야합니까? 'r'대신에? –

+0

u를 r에 추가하십시오. 즉, '^ forum/......' –

+0

이 문제를 재현 할 수 있도록 더 많은 코드를 제공하면 도움이되지 않는다면. –