@python_beginnersЭта группа больше не существует

Страница 634 из 1885
Igor
26.10.2016
19:09:27
сделать user4, user1

и тогда вставится

F
26.10.2016
19:09:34
понял теперь

но тогда юзер4 запорится и придется с ним ебаться тоже

Google
Igor
26.10.2016
19:09:45
но ты как минимум проебываешь порядок, это может быть критично

F
26.10.2016
19:10:05
теперь понял тебя

ебать тонкости

.
26.10.2016
19:12:13
ImportError at /polls No module named 'django.templates'

Вот такая штука выскакивает, делаю все как в доке

def index(request): latest_question_list = Question.objects.order_by('-pub_date')[:5] template = loader.get_template('polls/index.html') context = { 'latest_question_list': latest_question_list, } return HttpResponse(template.render(context, request))

from django.template import loader

Igor
26.10.2016
19:12:44
так from django.template или from django.templates?

light
26.10.2016
19:13:35
делаю конвертацию цен в интернет магазине

из одной валюты в другую

курс получаю при помощи json из api одного банка

в моделе есть переменная не привязаная к БД

которая показывает, в какой валюте отображаютца цены в магазине

Google
light
26.10.2016
19:13:36
эта переменная меняется при помощи post запроса

соответственно форма, в которую поступает запрос находится на отдельном url

в шаблоне это выглядит как-то так ''' <form class="form-inline" action="{% url 'dol' %}?next={{ request.path }}" method="post" > '''

но переадресации не происходит

.
26.10.2016
19:14:15
Igor
26.10.2016
19:14:22
какой фреймворк? next - это всего лишь гет-аргумент, который должен будет обработаться бекендом, чтобы бекенд отправил 301 redirect клиенту

.
26.10.2016
19:14:22
импорт template делаю

папка templates называется

F
26.10.2016
19:14:40
но переадресации не происходит
next вроде должно быть hidden инпутом

F
26.10.2016
19:15:32
<input type="hidden" name="next" value="{{request.path}}"/>

Igor
26.10.2016
19:15:42
ошибка templates
я теперь запутался, или ты не понял, или я не понял ты цитируешь ошибку: No module named 'django.templates' django - это модуль джанги. django.templates - такой штуки в джанге нету. в джанге есть django.template.

F
26.10.2016
19:15:46
я не уверен, но попробуй

чет такое встречал где-то

Igor
26.10.2016
19:16:18
папка templates называется
какая папка, где? в пределах проекта? где относительно файла, в котором ты пытаешься импортнуть что-то из папки templates?

.
26.10.2016
19:16:23
Я импортирую django.template

Папка в приложении

light
26.10.2016
19:16:39
попробую

Google
Igor
26.10.2016
19:16:48
но питончик говорит, что импортируешь! попробуй *.pyc-файлы почистить. и __pycache__

посмотри полный трейсбек, где именно написано django.templates

открой этот файл, убедись, что этого там нету; убедись, что удалил закешированный байт-код (*.pyc, __pycache__) и перезапусти веб-сервер на всякий случай

.
26.10.2016
19:18:15
template = loader.get_template('polls/index.html') вот эта штука выделена

light
26.10.2016
19:18:23
http://127.0.0.1:8000/shop/dol/?next=/shop/plastic/

не обрабатывет

ну ни в какую

Igor
26.10.2016
19:19:37
template = loader.get_template('polls/index.html') вот эта штука выделена
ну чувак, я тебе никак не помогу, я не телепат ) ты прислал: > ImportError at /polls > No module named 'django.templates' значит, где-то при обработке вьюхи /polls обнаружился импорт django.templates. или обращение к django.templates. ищи файл, в котором эта хуйня слчилась, и строчку. исправляй и будет тебе счастье

.
26.10.2016
19:20:34
Окей

Попробую

спасибо

Igor
26.10.2016
19:22:25
ну, джанга, видимо, в какой-нибудь из своих middleware, палит HTTP-запрос на сервер. смотрит - если прислали "?next=/nahui/", значит, запоминает, что вот щас надо получить от пользователя, скажем, логин и пароль для авторизации, а потом взять и отправить его /nahui/!

https://docs.djangoproject.com/en/1.10/topics/auth/default/#the-login-required-decorator

вьюха обернута декоратором login_required?

light
26.10.2016
19:24:23
нет, конечно

Igor
26.10.2016
19:24:27
собственно, вряд ли /shop/dol/ - это ссылка на страницу авторизации

ну вот :)

а джанго обращает внимание на next только при авторизации

соответственно тебе надо самому эту шнягу реализовать

Google
light
26.10.2016
19:24:53
ага

а это наверное, не очень правильная реализация конвертауии валют

может сталкивался/писал?

Igor
26.10.2016
19:25:41


light
26.10.2016
19:25:50
как бы ты это реализовал?

Igor
26.10.2016
19:26:46
я запутался, как связаны конвертация курса валюты и переадресация? (перечитал простыню выше с "в модели есть переменная не привязаная к БД", все равно че-т не понял, зачем переадресация)

light
26.10.2016
19:27:51
ага

Igor
26.10.2016
19:28:24
я правильно понял, что ты со стороны HTML/JS (фронтэнда, карочи), когда юзер решил поменять курс валюты на сайте, делаешь POST-запрос на одну из джанговских вьюх, эта вьюха делает конвертацию, и тебе после этого надо перенаправить юзера куда-нибудь там дальше?

b0g3r
26.10.2016
19:28:25
ага...

light
26.10.2016
19:28:29
ну в общем мы меняем эту переменную по средствам отправления пост запроса через форму

Admin
ERROR: S client not available

Igor
26.10.2016
19:28:39
через форму - на твой же сайт, джанговский?

(я так, уточняю, а то мало ли)

light
26.10.2016
19:28:51
и да, ты все правильно понял

Igor
26.10.2016
19:29:25
ну и все, нахуй тебе нужны все эти nextы верни просто редирект во вьюхе

light
26.10.2016
19:29:32
не куда нибудь, а на request.path

Igor
26.10.2016
19:29:38
если функции, то хз, если class-based views, то RedirectView есть

https://docs.djangoproject.com/en/1.10/topics/http/shortcuts/#redirect

во

Google
Igor
26.10.2016
19:30:44
def my_view(request): ... return redirect(request.path)

light
26.10.2016
19:31:01
да это все понятно

но форма находится на отдельной странице

Igor
26.10.2016
19:31:26
ну и чо?

а

тогда request.path вернет на эту же форму? %))

ну можешь реферера смотреть тогда

light
26.10.2016
19:31:46
именно

Igor
26.10.2016
19:31:54
хотя это так себе способ

light
26.10.2016
19:32:40
хочется решить

элегантно

и я подозреваю, что что-то не так в корне

Igor
26.10.2016
19:33:12
ну, можешь все-таки сделать с next()

через GET-аргумент или через hidden input, как FL выше написал

тогад во вьюхе просто мониторь наличие в POST-запросе ключика next

если есть - редиректь куда скажут

light
26.10.2016
19:33:47
Igor
26.10.2016
19:34:01
только надо б еще проверку сделать, чтобы не редиректило куда попало, я хз насчет возможных уязвимостей в этом плане

наверн зря парюсь, но голова уже в любом случае не соображает

light
26.10.2016
19:34:29
можно не ипать мозг и сделать страницу успешного переключения курса валют

но это тоже не алё

Igor
26.10.2016
19:34:47
да ну, всрато как-то, лишние действия юзеру делать

Страница 634 из 1885

Эта группа больше не существует Эта группа больше не существует