python - 如何使用 django process_request 更改 url。

标签 python django url middleware

这是我的代码:

class MobileMiddleware(object):

    def process_request(self, request):
        if request.path.startswith('/core/mypage/'):
            request.path='/core/mypage/?key=value'
            print request.path,'aaaa'

我想在页面 url 为 /core/mypage/ 时添加一个参数 key,

并且网络浏览器的 url 将更改为 http:www.ss.com/core/mypage/?key=value

但是,浏览器中的 url 并没有改变。

我能做什么?

最佳答案

对于 googlers - 我使用 request.path_info 进行了测试。如果您想更改中间件中的 URL,请更改 process_request 中的 request.path_info .

request.path_info = <change request.path_info>

请注意,我不建议或禁止使用它。我只是说如果您想更改 URL,这就是您可以的方式。

关于python - 如何使用 django process_request 更改 url。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6366589/

相关文章:

python - 为什么这个神经网络的损失总是 0.0 而准确率总是 1.0?

python - python列表和元组文字中的评估顺序

Python 错误类型错误 : unsupported operand type(s) for +: 'function' and 'function'

python - Django 1.6 对大量模型对象的事务管理

mysql - 如何提高 Django 管理搜索相关字段的查询性能 (MySQL)

android - 如何让我的 EditText 字段显示当前网页 URL?

python - 在 Pycharm 上通过 docker-compose 运行 Python 控制台

django - django 中支持零、一、二、少、多、其他的 Android i18n 复数相当于什么?

iPhone:fb://... 打开 Premier Inn 应用程序的 URL,而不是 Facebook

url - IE11 - 对象不支持此操作 - URL 对象 - 解决方法