简体   繁体   中英

Internal server error when set cookie in Django

In URL can additional parameters for example like utm_campaign

In view I get this parameters:

utm_campaign = request.GET.get('utm_campaign',None)

But when i wanna set this information in cookie I get Internal Server Error without traceback or another information

I was trying several solution:

response.set_cookie('utm_campaign',utm_campaign )
response.set_cookie('utm_campaign',utm_campaign .encode('utf-8'))
response.set_cookie('utm_campaign',utm_campaign .encode())
response.set_cookie('utm_campaign',request.GET.get('utm_campaign '))

What is the problem?

The problem is that if I write English text or numbers - everything works. If I try write cyrillic text - there is an error without details.

  • Python3
  • CentOs7 (default "utf-8")
  • Django 1.11 (default "utf-8")

Solution

from urllib import parse
response.set_cookie('utm_campaign', parse.quote(utm_campaign))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM