Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
1

Django. HttpRequest какой параметр отвечает за строку url, которую отображает браузер?

08.04.2018, 19:51. Просмотров 976. Ответов 13
Метки нет (Все метки)

В общем, надо во view изменить поле request, отвечающее за текущий url.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2018, 19:51
Ответы с готовыми решениями:

Белые кнопки. Какой параметр отвечает за текстуры кнопок.
Какой параметр отвечает за текстуры кнопок? (Именно, хотелось бы кнопки, как тут в ответе и в...

Подскажите какой параметр отвечает за время показа баннера
Подскажите какой параметр отвечает за время показа баннера: var slideMenu=function(){ var...

Какой параметр в qt отвечает за авторастягивание виджета на всю форму?
Какой параметр в qt отвечает за авторастягивание виджета на всю форму?

Какой параметр DBLookUpComboBox отвечает за то, что в данный момент в нем выбрано?
Подскажите кто нибудь какой параметр комбобокса отвечает за то, что в данный момент в нем выбрано

13
373 / 278 / 188
Регистрация: 31.05.2016
Сообщений: 754
08.04.2018, 20:01 2
Судя по докам, атрибуты только для чтения.
https://docs.djangoproject.com/en/2.0/ref/request-response/

А зачем вам это надо?
0
390 / 118 / 48
Регистрация: 26.10.2013
Сообщений: 730
08.04.2018, 20:09 3
request.path
и менять его нельзя

Добавлено через 1 минуту
для этого надо использовать HttpRequestRedirect
0
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
08.04.2018, 20:12  [ТС] 4
sash23, Во View есть функции A и B, им соответствуют url a и b. Но иногда в функции A необходимо вызвать функцию B, и что бы при этом url соответствовал b.

Проще говоря, хотя бы сделать откуда-нибудь перенаправление на главную страницу, после каких-нибудь действий.
0
390 / 118 / 48
Регистрация: 26.10.2013
Сообщений: 730
08.04.2018, 20:16 5
ну выполнил ты действие и редиректнул пользователя куда надо.

Добавлено через 9 секунд
в чем сложность?
0
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
08.04.2018, 20:18  [ТС] 6
Это действие - установка куки. А redirect в отличие от render не использует объект request, и куки не сохраняет.
0
390 / 118 / 48
Регистрация: 26.10.2013
Сообщений: 730
08.04.2018, 20:20 7
а если прям ну оооочень надо вызывать функцию В из функции А и при этом в функции В есть зависимоть от path, то вам стоит пересмотреть дизайн вашего кода и/или логику. т.е. тогда нужно выдернуть что то из функции В в функцию С которая бы не зависила от path и вызывать С из В и А

Добавлено через 55 секунд
с чего бы это вдруг? смотря как вы куки ставите) или хотите сказать что после авторизации когда я сделаю редирект пользователя сбросятся куки?))))
0
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
08.04.2018, 20:24  [ТС] 8
Wi0M, именно так)
Имя пользователя хранится в переменной куки
Сама переменная устанавливается функцией login.
После этого необходимо перенаправление на главную страницу.
Но если вызвать redirect, переменная не сохранится, так как устанавливается через request.
0
390 / 118 / 48
Регистрация: 26.10.2013
Сообщений: 730
08.04.2018, 20:43 9
Zengz, есть песня на этот счет) "я тебе не верюююю"))) покажи мне код)

Добавлено через 7 минут
ладно)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from django.contrib.auth import views
from ipware import get_client_ip
 
 
class AuthView(views.LoginView):
    template_name = 'Profile/signin.html'
 
    def form_invalid(self, form, f=True):
        form.add_error('__all__', 'Authentication error!')
        return super().form_invalid(form)
 
    def form_valid(self, form):
        client_ip, is_routable = get_client_ip(self.request)
        result = super().form_valid(form)
 
        user = form.get_user()
        user.profile.user_agent = self.request.META['HTTP_USER_AGENT']
        user.profile.ip_address = client_ip
        user.save()
        return result
result = super().form_valid(form) - тут хранится как раз таки редирект, посмотри код класса в django.contrib.auth.views

Добавлено через 2 минуты
ну вот он

Добавлено через 33 секунды
а теперь ты мне объясни, что ты делаешь? а то моя твоя не понимает)
0
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
08.04.2018, 20:51  [ТС] 10
Wi0M, Что-то типо такого. Вызывается A для авторизации. A устанавливает куки, и перенаправляет на главную страницу. Проблема в том, что браузер продолжает считать текущий url - как url функции A.

Python
1
2
3
4
5
6
7
8
def A(request)
    name = request.POST["name"]
    requst.COOCKIE["name"] = name
    return B(request)
 
def B(request)
    #обратиться к бд
    return render(request, "b.html", {данные})
0
390 / 118 / 48
Регистрация: 26.10.2013
Сообщений: 730
08.04.2018, 21:46 11
Лучший ответ Сообщение было отмечено Zengz как решение

Решение

сразу надо код показывать. нельзя так делать, система аутентификации работает через сессии. ссылка
1
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
08.04.2018, 22:08  [ТС] 12
Wi0M, я знаю, но хотелось бы сделать именно так.
0
390 / 118 / 48
Регистрация: 26.10.2013
Сообщений: 730
08.04.2018, 23:22 13
)))) тебе пора бы уже признать что в жизни не все будет так как хочешь ты
0
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 27
09.04.2018, 00:29  [ТС] 14
Wi0M, ну ладно, то, что я храни в куки, замечательно сохраняется в сесиях.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2018, 00:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Какой метод быстрей WebClient или HttpRequest?
Что быстрее скачивает файлы? Можно ли использовать связку WebClient'a и HttpRequest? Как сделать...

Какой процесс отвечает за настройку wifi или какой файл?
Нужно удалить его, чтобы wifi не мог включиться. Или заблокировать его agnitum outpost firewall'om.

Ip камера, что отвечает за URL скриншота?
Добрый день. Не могу никак понять на что надо смотреть при покупке, чтобы камера имела прямую...

Найти центр и радиус окружности на которую функция отображает прямую или окружность
Задание: Найти центр и радиус окружности на которую функция w=\frac{z-2}{z=1} отображает: ...

Не отображает картинки браузер
не отображает браузер картинки вместо них крестики черные или квадратики и все идет в столбик в...

Браузер не отображает страницы
Здраствуйте, извините за беспокойство. Вчера я сидел на работе в интернете через IE6, всё было...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.