Мне нужно получить текущий url от браузера и извлечь имя открытой модели. У меня есть 3 модели: аудит, дисфункция и действие, действие имеет поле выбора, содержащее 2 варианта: аудит или дисфункция. Поэтому, когда я создаю действие, я могу выбрать один из них, но когда я создаю аудит, то в форме аудита создайте действие, я хочу, чтобы поле выбора принимало «аудит» как тип от первого. Я заметил, что когда мы вводим форму действия из формы аудита, URL-адрес по-прежнему содержит имя первой модели, которая является «аудитом». Модель аудита имеет много общего с моделью действий. Я написал эту строку в функции инициализации:Как получить текущий url от браузера
print (self.env._current_browser()._current_page)
, но это дает мне эту ошибку:
AttributeError: 'Environment' object has no attribute '_current_browser'
Я ALSE попробовал этот код:
import os.path
from urlparse import urlparse,parse_qs
print 'hello update'
url = os.environ["REQUEST_URI"]
parsed = urlparse.urlparse(url)
print urlparse.parse_qs(parsed.query)['model']
Это дает мне эту ошибку :
KeyError: 'REQUEST_URI'
Я также попробовал этот код:
from openerp import http
print http.request.httprequest.full_path
Это дает мне это:
/web/dataset/call_kw/action/create?
Но я хочу, чтобы вернуть этот URL:
http://localhost:8069/web?#id=10&view_type=form&model=audit&menu_id=201&action=221
Я работаю с Python 2.7 , odoo 8, окна 7.
Пожалуйста, помогите. Благодарю.
Не могли бы вы предоставить подробный код. Что, собственно, должно быть, например,? – rocksteady
@Tesssnim Посмотрите здесь ackoverflow.com/questions/14468862/how-to-get-current-url-in-python-web-page –
@RichardRublev Я попробовал это раньше Это дает мне эту ошибку: Файл «C: \ Users \ Utilisateur \ git \ persol \ odoo \ addons \ action \ action.py ", строка 63, в _get_origin url = os.environ [" REQUEST_URI "] Файл« C: \ Python27 \ lib \ os.py », строка 425, в __getitem__ return self.data [key.upper()] KeyError: 'REQUEST_URI' – Tessnim