2016-11-05 2 views
0

Linux 서버에서 django에서 wsgi를 실행하는 apache2와 함께 발생하는 오류가 발생했습니다. 나는 Windows에서 개발 한 다음 Linux 서버로 복사합니다.Linux 'ascii'코덱은 문자 u ' u0161'을 위치 3에 인코딩 할 수 없습니다. 서수가 범위 내에 없습니다 (128)

나는 문제는 문자열에 참조 : (굵은 부분은 장고으로 표시됩니다)

Društvo t abornikov -로드 Srnjak LOGATEC

그러나이 오류가 한 페이지에서 발생 . 동일한 문자열이 설정 페이지에서도 사용되지만 올바르게 표시됩니다. 또한 관리자 페이지에서 같은 오류가 나타납니다. views.py 파일에서 utf-8 인코딩을 이미 설정했습니다. 내가 가진 아파치없이 서버를 시작하면 오류가 발생하지 않습니다

python3 manage.py runserver 0.0.0.0:8000 

추적 :

Environment: 


Request Method: GET 
Request URL: https://***.***.**/vodnik/eposta/?cid=17 

Django Version: 1.10.3 
Python Version: 2.7.12 
Installed Applications: 
['django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'vodnik', 
'schedule', 
'djangobower'] 
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.auth.middleware.SessionAuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware'] 


Template error: 
In template /var/www/etaborniki/templates/vodnik/eposta.html, error at line 59 
    ascii 49 :  <small style="text-align: justify"><strong>Opomba:</strong> Na dno sporočila bodo avtomatsko dodani podatki roda in 
    50 :   obrazložitev namena 
    51 :   sporočila, ker je naša aplikacija skladna z zakonom <a href="https://www.uradni-list.si/1/content?id=111442">ZEKom-1</a>. 
    52 :  </small> 
    53 :  <br/> 
    54 :  <small style="text-align: justify"><strong>Soglasje:</strong> S pritiskom na gumb pošlji se z navedenim popolnoma 
    55 :   strinjam in prevzemam vso 
    56 :   odgovornost. V sporočilu ne smem posredovati kakršnihkoli osebnih podatkov, sovražnega govora ali vsiljene 
    57 :   pošte. Strinjam se, da bo moj e-naslov razviden prejemniku in družbi KSoft.Si. Sporočila se hranijo do 3 mesece. 
    58 :   Kršitev tega soglasja ali zakonov ZEKom-1, ZEPT in ZVOP-1, se lahko sodno preganja. Za katerokoli kršitev družba 
    59 :   KSoft.Si in {{ rod_ime }} ne odgovarjata. 
    60 :  </small> 
    61 : </div> 
    62 : 
    63 : {% include 'generic/scripts.html' %} 
    64 : {% include 'generic/tinymce.html' %} 
    65 : </body> 
    66 : </html> 
    67 : 

Traceback: 

File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/exception.py" in inner 
    39.    response = get_response(request) 

File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/base.py" in _legacy_get_response 
    249.    response = self._get_response(request) 

File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/base.py" in _get_response 
    187.     response = self.process_exception_by_middleware(e, request) 

File "/usr/local/lib/python3.5/dist-packages/django/core/handlers/base.py" in _get_response 
    185.     response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "/usr/local/lib/python3.5/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view 
    23.     return view_func(request, *args, **kwargs) 

File "/var/www/etaborniki/vodnik/views.py" in eposta 
    177.    return render_to_response('vodnik/eposta.html', c) 

File "/usr/local/lib/python3.5/dist-packages/django/shortcuts.py" in render_to_response 
    21.  content = loader.render_to_string(template_name, context, using=using) 

File "/usr/local/lib/python3.5/dist-packages/django/template/loader.py" in render_to_string 
    68.  return template.render(context, request) 

File "/usr/local/lib/python3.5/dist-packages/django/template/backends/django.py" in render 
    66.    return self.template.render(context) 

File "/usr/local/lib/python3.5/dist-packages/django/template/base.py" in render 
    208.      return self._render(context) 

File "/usr/local/lib/python3.5/dist-packages/django/template/base.py" in _render 
    199.   return self.nodelist.render(context) 

File "/usr/local/lib/python3.5/dist-packages/django/template/base.py" in render 
    994.     bit = node.render_annotated(context) 

File "/usr/local/lib/python3.5/dist-packages/django/template/base.py" in render_annotated 
    961.    return self.render(context) 

File "/usr/local/lib/python3.5/dist-packages/django/template/base.py" in render 
    1050.   return render_value_in_context(output, context) 

File "/usr/local/lib/python3.5/dist-packages/django/template/base.py" in render_value_in_context 
    1028.  value = force_text(value) 

File "/usr/local/lib/python3.5/dist-packages/django/utils/encoding.py" in force_text 
    80.     s = six.text_type(bytes(s), encoding, errors) 

Exception Type: UnicodeEncodeError at /vodnik/eposta/ 
Exception Value: 'ascii' codec can't encode character u'\u0161' in position 3: ordinal not in range(128) 

답변

0

오류는 당신 때문에 파이썬 2.7 활성

... 

Django Version: 1.10.3 
Python Version: 2.7.12 
Installed Applications: 
... 

그래서이 있음을 보여줍니다 python3으로 개발 서버를 실행하는 것 같습니다. 라이브 버전과 동일하게 수행하려고한다고 가정합니다.

+1

python3 용 mod_wsgi를 설치했으나 (apt에서 오래된 것) 작동하지 않았습니다. 그래서 python3으로 github에서 mod_wsgi를 설치했고 제대로 작동합니다. – AndyTemple

관련 문제