Size: a a a

Django [ru] #STAY HOME

2019 February 18

Y

Yaroslav in Django [ru] #STAY HOME
так по http в сокет тыкнулись, nginx ответил "давай менять протокол", дальше надо с ним согласиться
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
но сокеты причем? Там вроде ничего внешнего все свое
источник

Y

Yaroslav in Django [ru] #STAY HOME
источник

АА

Александр Андреев in Django [ru] #STAY HOME
Ну, тогда хз. Может у тебя скрипты по http грузятся? Посмотри в F12
источник

АА

Александр Андреев in Django [ru] #STAY HOME
Если там жестко задан хост где-нибудь со схемой.
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
Yaroslav
так по http в сокет тыкнулись, nginx ответил "давай менять протокол", дальше надо с ним согласиться
и как быть?
источник

PE

Polosaty Enot in Django [ru] #STAY HOME
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
var StatementSocket = new WebSocket(
   'ws://' + window.location.host +
   '/ws/statements/');

так подключаюсь
источник

Y

Yaroslav in Django [ru] #STAY HOME
я так понимаю, что проблема возникла при переходе из докера в "без докера". если да - то вряд ли фронт виноват.
можно пройтись по доке
https://channels.readthedocs.io/en/latest/deploying.html?highlight=nginx
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
Yaroslav
я так понимаю, что проблема возникла при переходе из докера в "без докера". если да - то вряд ли фронт виноват.
можно пройтись по доке
https://channels.readthedocs.io/en/latest/deploying.html?highlight=nginx
да я проходился по докам. Так что вы nginx-у скажете и ssl???
источник

p

pavel in Django [ru] #STAY HOME
>>> test2 =  TestTable.objects.all()[1] 
>>> test2.new_field

>>> test = TestTable.objects.all()[0]
>>> test.new_field
<TestTable: Имя>
>>> test.new_field.id
1
>>> test2.new_field.id
AttributeError: 'NoneType' object has no attribute 'id'


new_field = models.ForeignKey(OtherTable)

как мне записать в test2.new_field.id = 1
источник

Y

Yaroslav in Django [ru] #STAY HOME
@PsPalit_R,
а попробуй не
ws://

а
wss://
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
Yaroslav
@PsPalit_R,
а попробуй не
ws://

а
wss://
это в js при коннекте?
источник

Y

Yaroslav in Django [ru] #STAY HOME
ага
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
или url тоже поменять надо?
источник

AB

Abdulmuslim Bulataliev in Django [ru] #STAY HOME
Yaroslav
ага
я лучше пока посмотрю чего почитаю. А то перепаднимать так часто приходится
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Драсте народ, есть вот такой обработчик пост запроса https://dpaste.de/xgyQ данные в него приходят, в объекте реквеста все нужные данные присутствуют, их валидирует, user_form сохраняет, а edit_form - нет, никаких ошибок нет, в чем проблема-непонятно.
источник

Y

Yaroslav in Django [ru] #STAY HOME
Abdulmuslim Bulataliev
/etc/nginx/sites-enaible/project.conf
upstream channels {
   server 127.0.0.1:8088;
}

location /ws/ {
       proxy_pass http://channels;

       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";

       proxy_redirect     off;
       proxy_set_header   Host $host;
       proxy_set_header   X-Real-IP $remote_addr;
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header   X-Forwarded-Host $server_name;
   }

Почему запросу не идут на channels?
wss - для https
ws - для http
если у тебя в когфиге 443 порт (https), то js-ом надо ходить на wss

если в браузере есть
"SecurityError: The operation is insecure." - то это как раз случай, когда ты пытаешься попасть на ws://....., а со стороны сервера ssl
источник

Y

Yaroslav in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
Драсте народ, есть вот такой обработчик пост запроса https://dpaste.de/xgyQ данные в него приходят, в объекте реквеста все нужные данные присутствуют, их валидирует, user_form сохраняет, а edit_form - нет, никаких ошибок нет, в чем проблема-непонятно.
это всё на одном урле?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Yaroslav
это всё на одном урле?
Да
источник