
Centrino
26.01.2017
13:07:09
dispatch это что?

Pavel
26.01.2017
13:07:35
эта функция выбирает тип запроса (get\post\head ...) и вызывает нужный метод (def get(), def post(), def head() и т.п.)

Centrino
26.01.2017
13:08:54
за ссылку спасибо. Но я таки и не понял что с этой функцией делать)

Google

Pavel
26.01.2017
13:09:10
открывать её код и читать
а, есть вторая половина вопроса, не заметил.
я бы в form_valid сделал нужное.

Centrino
26.01.2017
13:11:20
в form_valid уже явно проведена валидация формы?

Pavel
26.01.2017
13:11:56
и даже в self.object сохранён объект.

Centrino
26.01.2017
13:12:10
спасибо

Pavel
26.01.2017
13:12:57
а валидация формы проходит в def post()

Centrino
26.01.2017
13:13:33

Pavel
26.01.2017
13:15:28
ээ...
class MyView(View):
def get(self, request, *a, **kw):
... # будет вызван при GET
def post(self, request, *a, **kw):
... # будет вызван при POST
def head(self, request, *a, **kw):
... # будет вызван при HEAD
def put(self, request, *a, **kw):
... # будет вызван при PUT
# и так далее

Amaro
26.01.2017
13:25:01
Бодрого времени суток. Shuup или oscar? Или голая джанга? Есть ли в shuup мультидоменность?

Denis
26.01.2017
14:12:53

maxmoriss
26.01.2017
17:38:19
добрейшего вечерочка, уважаемые! :)
давно задаюсь одним вопросом, под каким пользователем деплоить код на сервере, под каким запускать приложение, под каким ходить по ssh (если нет автоматизированного деплоя). как будет более правильным, кошерным (если хотите), судя по всему единых стандартов на этот счет нет, вот и хотелось бы услышать разные мнения…

Google

Guest007
26.01.2017
17:57:47
ubuntu
У меня - так. На AWS ?

Eugene
26.01.2017
17:58:56
Правильно под каждый проект пользователя заводить

maxmoriss
26.01.2017
18:01:21
и запускать из под него тоже?

Guest007
26.01.2017
18:02:46
Запускать лучше из под пользователя, не имеющего доступ к sudo

maxmoriss
26.01.2017
18:03:26
www-data?

Guest007
26.01.2017
18:06:49
Ну, можно и так

maxmoriss
26.01.2017
20:14:48
кстати, кто что может посоветовать либу для импорта из excel и обратно?

Eugene
26.01.2017
20:16:55
https://django-import-export.readthedocs.io/en/latest/

Romka
26.01.2017
20:18:49
всем привет
Как в ajax запросе передать переменную context_processors - {{ variable }}
?

maxmoriss
26.01.2017
20:20:26
напиши вызов в шаблоне и подставь туда переменную

Eugene
26.01.2017
20:20:50
через js в post передать, нет?:)
https://github.com/django-import-export/django-import-export

Romka
26.01.2017
20:21:20

Eugene
26.01.2017
20:21:20
форк походу кинул.

Romka
26.01.2017
20:21:24
так?

Google

Romka
26.01.2017
20:21:41
только get
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/spike/Desktop/tReader/treader/readerBook/views.py", line 137, in set_liked
user_id = int(request.GET['user_id'])
File "/usr/lib/python3.6/site-packages/django/utils/datastructures.py", line 85, in __getitem__
raise MultiValueDictKeyError(repr(key))
django.utils.datastructures.MultiValueDictKeyError: "'user_id'"
это если подставлять
вот код http://pastebin.com/YkTxyqJW

subject_89P13
26.01.2017
20:25:26
А у тебя в url не надо указать id?

maxmoriss
26.01.2017
20:25:46

Romka
26.01.2017
20:26:30

Eugene
26.01.2017
20:26:40
мне ток в админке надо было.
но там вроде можно кастомизировать.
а оно только из админки работает?

Romka
26.01.2017
20:26:43
если напрямую

Eugene
26.01.2017
20:27:07
а в view как проверяешь get параметры

Romka
26.01.2017
20:28:32
http://pastebin.com/WZALx9gX

Eugene
26.01.2017
20:30:37
могу показать, как я лайки реализововал

Romka
26.01.2017
20:31:44
ну это тип понравившиеся книги
и мне просто нужно передать id юзера и книги
а оно не хочет

Eugene
26.01.2017
20:34:41
http://pastebin.com/H0hknTPQ
а во view принтом выведи user_id и book_id , что выдаст

Pavel
26.01.2017
20:36:35
я бы для начала в network monitor браузера посмотрел, что уходит.

Romka
26.01.2017
20:40:28

Google

Eugene
26.01.2017
20:41:12
KeyError: 'user_id' :) а попробуй без int

Pavel
26.01.2017
20:41:57

Romka
26.01.2017
20:42:22

Pavel
26.01.2017
20:42:34
как выглядит урл, на который уходит запрос

Romka
26.01.2017
20:42:39
смотрю liked.js
```
Request URL:http://127.0.0.1:8000/set_liked/
Request Method:GET
Status Code:500 Internal Server Error
Remote Address:127.0.0.1:8000

Pavel
26.01.2017
20:44:02

Admin
ERROR: S client not available

Romka
26.01.2017
20:44:35
ок, спасибо
а можно как-то передать данные context processors в запрос?
я прост кажись понял в чём проблема
нет
не понял
лан

Eugene
26.01.2017
20:46:24
юзер id же скорей всего всегда реквестом будет?: )
request.user

Pavel
26.01.2017
20:46:39
если ты переменную из контекста где-то в шаблоне оставишь, то она срендерится в своё значение, и потом её из html забирай, как умеешь.

Romka
26.01.2017
20:46:46
спасобо

Eugene
26.01.2017
20:46:51
или если я сменю в ссылки get то другому челу уйдет?

Google

Romka
26.01.2017
20:46:53
спасибо*
я просто уберу user_id

Pavel
26.01.2017
20:47:55
убери, но всё равно book_id в урле не было. ?

Romka
26.01.2017
20:48:43
о, стоп
книга лежит по адресу http://127.0.0.1:8000/book/2/
можно из него вытянуть /2/?

Pavel
26.01.2017
20:50:15
можешь сделать урл /book/2/like, и тогда вообще с request.GET не связываться.
в жаваскрипте относительный путь "./like"

Romka
26.01.2017
20:51:30
/book/2/like - мне нужно без редиректа

Pavel
26.01.2017
20:51:49
Но это так себе вариант, я бы разобрался, почему в том запросе не было параметров. Сейчас можно обойти передачу параметров в ajax, но возможно в другом месте так уже не получится.

Romka
26.01.2017
20:52:34
можно пример?
я прост не понимаю

Eugene
26.01.2017
20:52:52
а почему не POST запрос?: )
ну ты просто ajax запрос делаешь и все.
никаких редиректов.

Romka
26.01.2017
20:53:30
у меня с ним такая же проблема

Eugene
26.01.2017
20:54:53
$.ajax({
url: likeUrl,
type: 'POST',
data: {
book_id: book_id,
},
success: (json) => {

Pavel
26.01.2017
20:54:55
на странице /book/2/ делаешь $.ajax(url:"./like", method:'POST) ( или как-то так, я не умею в JS).
прописываешь урлс.py /book/(.*?)/like, ведущий на твой метод. и всё.

parikLS
26.01.2017
20:56:33

subject_89P13
26.01.2017
20:57:37
Еще можно именованный параметр user_id в urlе прописать, а во вьюхе просто из него смотреть