Ошибка Django 400 с переменной в урлопене - PullRequest
0 голосов
/ 25 января 2019

В моем приложении Django есть ошибка 500 и код ошибки 400, когда я включаю режим отладки. Я использую Python 3.5

Это примерно так:

token = FacebookToken.objects.get(id=1).token

url = "https://graph.facebook.com/v3.2/lamontagnesolitaire?access_token="+str(token)+"&fields=posts{id}"

fb_query = urlopen(url).read().decode('utf-8')

Запрос работает нормально, потому что, когда я помещаю свой 'токен' в виде простой строки, у меня не возникает никаких ошибок, и я могу правильно прочитать URL.

Я уже пробовал этот метод или несколько вариантов:

url = "https://graph.facebook.com/v3.2/lamontagnesolitaire?access_token=%s&fields=posts{id}" %token

fb_query = urlopen(url).read().decode('utf-8')

Я все еще получаю сообщение об ошибке 400.

Переменная 'token' вернула хорошую:

token = 'EAAIgMT9IUZBIBAI7hKtwxZCIydOeAuZCr4ddw4aGRIZCvDJHQtt2yuGYRtZBAZBGK9LsMcZAGG3VFLRQVOQU2mGkL[....]'

Моя модель:

class FacebookToken(models.Model):
    token = models.CharField(max_length=300, null=False, verbose_name="Token")

Django Traceback:

Environment:


Request Method: POST
Request URL: http://localhost:9000/api/likes

Django Version: 1.11.4
Python Version: 3.5.3
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'widget_tweaks',
 'ckeditor',
 'ckeditor_uploader',
 'start',
 'myaccount',
 'wall',
 'api',
 'gunicorn',
 'django.contrib.sites',
 'django.contrib.sitemaps',
 'compressor']
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']



Traceback:

File "/home/django-project/seigneurdesanneaux/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/home/django-project/seigneurdesanneaux/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/home/django-project/seigneurdesanneaux/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/django-project/seigneurdesanneaux/api/views.py" in view_likes_synchronization
  48.               fb_query = urlopen(url)

File "/usr/lib/python3.5/urllib/request.py" in urlopen
  163.     return opener.open(url, data, timeout)

File "/usr/lib/python3.5/urllib/request.py" in open
  472.             response = meth(req, response)

File "/usr/lib/python3.5/urllib/request.py" in http_response
  582.                 'http', request, response, code, msg, hdrs)

File "/usr/lib/python3.5/urllib/request.py" in error
  510.             return self._call_chain(*args)

File "/usr/lib/python3.5/urllib/request.py" in _call_chain
  444.             result = func(*args)

File "/usr/lib/python3.5/urllib/request.py" in http_error_default
  590.         raise HTTPError(req.full_url, code, msg, hdrs, fp)

Exception Type: HTTPError at /api/likes
Exception Value: HTTP Error 400: Bad Request
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...