2011-07-12 64 views
4

當我設置SESSION_COOKIE_DOMAIN = '.mysite.com'並運行生產站點時,該站點將創建適當的跨域cookie並將其設置爲.mysite.com。但是,如果我設置SESSION_COOKIE_DOMAIN = '.localhost'並運行本地開發服務器localhost:8000,則創建的cookie是非跨域Cookie localhost本地主機上的Django SESSION_COOKIE_DOMAIN

爲什麼會這樣?

謝謝。

回答

7

這與瀏覽器和cookie的工作方式有關。由於您不允許將Cookie設置爲.com之類的內容,因此您無法將其設置爲.localhost。

您可以在這裏查看更多:https://code.djangoproject.com/ticket/10560。看起來在Django中沒有真正的解決方案。我希望他們會提醒我們,但不要只是休息一下。

雖然我沒有很好的解決方案。對於測試,您可以將您的主機文件設置爲使用類似test.com而不是localhost指向您的runserver。