109


Flask-Mobility
を使っているのですが、PCのブラウザでスマホ表示の確認をする方法はないでしょうか？スマホかPCかの判定をライブラリ内で行っていると思うので、それを外部から制御できるとよいと思うのですが


CC BY-SA 3.0
2014-10-09T11:32:52.883
107
2014-12-02T18:38:48.967
37
question
python
Flask-Mobility でスマホ表示をPCで表示する方法はありませんか？


リクエスト前処理の "before_request" で "request.MOBILE = True"
とする事で表示をスマホ版に強制的に切り替える事が可能です。

[code]

    @public.before_request
    def before_request():
        request.MOBILE = True
    
[/code]


CC BY-SA 3.0
2014-10-09T11:48:12.347
108
2014-10-09T11:48:12.347
37
107
answer


Flask-Mobilityの[ソース](https://github.com/rehandalal/flask-
mobility/blob/master/flask_mobility/main.py#L15)を見ると、User-
Agentヘッダをみてモバイルかどうかを判断しています。

ほとんどのブラウザに、カスタムのUser-Agentヘッダを送る機能があると思いますので、それを使ってモバイルブラウザのUser-
Agentを送るようにすれば、スマホ版の表示を確認できると思います。

iPhoneのUser-Agentの例

[code]

    Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53
    
[/code]

Google
Chromeでは、開発者ツールの左上にあるスマホアイコンをクリックすることでモバイルをはじめとしたデバイスの[エミュレーションモードを起動](https://developer.chrome.com/devtools/docs/device-
mode#enable-device-mode)できます。


CC BY-SA 3.0
2014-10-09T12:15:55.357
109
2014-10-09T12:15:55.357
30
107
answer


Google Chromeだと、F12で表示できるデベロッパーツールから画面サイズの固定やUser-Agentのオーバーライドができます。

## 方法

  1. F12を押す

  2. デベロッパーツール左上の虫眼鏡の右隣にあるスマホのアイコンをクリック

  3. `Device`欄から既存のスマホのプロファイルを選ぶ

  4. (再現したいスマホがない場合は) 画面サイズ・通信帯域・User-Agent(`UA`欄)を入力

  5. F5で更新し反映


CC BY-SA 3.0
2014-12-02T18:38:48.967
273
2014-12-02T18:38:48.967
197
107
answer