RailsだとjpmobileがあったけどDjangoにはあんまり良さそうなのが見つからないのでPCとスマホを振り分けるコードを書いた ミドルウェアのprocess_viewはビュー実行前に通過するのでここでUserAgentより振り分け処理開始 from user_agents import parse class MyMiddleware(object): def process_view(self, request, view_func, view_args, view_kwargs): #mobile判定 request.user_agent_flag = MyMiddleware.user_agent_check(request) return None #ユーザーエージェントからmobileかどうか判定してmobileなら "mobile/"という文字列を返す そのままテンプレ