python Unicode Slug ERR_EMPTY_RESPONSE - PullRequest
       26

python Unicode Slug ERR_EMPTY_RESPONSE

0 голосов
/ 13 января 2020

Я реализовал python проект с python3 .4 и столкнулся со странной проблемой. Мое приложение прекрасно работает на локальном, но у него есть проблемы с URL-адресами, которые содержат слаг Unicode. URL-адреса, содержащие строку Unicode с символом, работают нормально, но с более чем одним символом отображается ERR_EMPTY_RESPONSE.

В моем проекте есть следующие пакеты:

attrs==19.3.0
cached-property==1.5.1
captcha==0.3
certifi==2019.11.28
chardet==3.0.4
configparser==4.0.2
defusedxml==0.5.0
Django==2.0.13
django-crontab==0.7.1
django-ranged-response==0.2.0
django-simple-captcha==0.5.12
django-suit-ckeditor==0.0.2
et-xmlfile==1.0.1
idna==2.8
isodate==0.6.0
jdcal==1.4.1
lxml==4.2.5
mysql-connector==2.2.9
mysql-connector-python==8.0.18
mysqlclient==1.3.14
openpyxl==2.5.14
passlib==1.7.2
Pillow==5.4.1
protobuf==3.11.2
PyMySQL==0.9.3
python-memcached==1.59
pytz==2019.3
requests==2.7.0
requests-toolbelt==0.9.1
six==1.13.0
urllib3==1.24.3
whitenoise==4.1.4
zeep==3.4.0

Middleware:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Мои ПРИЛОЖЕНИЯ:

INSTALLED_APPS = [
    'whitenoise.runserver_nostatic',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'user_app',
    'django_crontab',
    'captcha'
]

urls.py:
url(r'^doctor-profile/(?P<slug>\S+)/$', FrontDoctorDetailView, name='frontDoctorDetail'),

в views.py:
doctorObj = get_object_or_404(Doctor, slug=urllib.parse.unquote(slug))

ниже ссылка работает нормально: http://www.vaghtbede.com/doctors/%D9%85/

, но у этого есть проблема: http://vaghtbede.com/doctors/%D8%AA%D9%87%D8%B1%D8%A7%D9%86/

, когда я запускаю request.get для этого URL в оболочке, он отображает BadStatusLine:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/vaghtbed/virtualenv/vaghtbede/3.4/lib/python3.4/site-packages/requests/api.py", line 69, in get
    return request('get', url, params=params, **kwargs)
  File "/home/vaghtbed/virtualenv/vaghtbede/3.4/lib/python3.4/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/home/vaghtbed/virtualenv/vaghtbede/3.4/lib/python3.4/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/vaghtbed/virtualenv/vaghtbede/3.4/lib/python3.4/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/home/vaghtbed/virtualenv/vaghtbede/3.4/lib/python3.4/site-packages/requests/adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))

Я использую общий хост для этого приложения, и у меня нет доступа к серверу log.

Есть идеи? Можете ли вы помочь мне, пожалуйста?

...