我正在Django制作一个网站,但我想制作两个网站,一个用于手机,一个为电脑。
你如何指示手机加载我的手机友好页面而不是普通网站?
通过使用前端响应框架(如Bootstrap或Funding),您可以为多个屏幕创建一个Django项目。
我不了解Django,但我认为您可以通过将其添加到<head>
部分中来实现这一点
<script type="text/javascript">
<!--
if (screen.width <= 800) {
window.location = "http://m.domain.com";
}
//-->
</script>
最简单的方法是包含django移动包。比试图保留自己的用户代理列表来响应要容易得多。https://pypi.python.org/pypi/django-mobile
通常,您不会为移动设备提供不同的站点。相反,您可以使用CSS技术(如@media查询)根据浏览器的大小更改页面的布局。
这被称为"响应式网页设计"(如果这能让搜索变得更容易的话),其优点是不需要维护同一页面的多个副本,只需要针对不同的设备。此外,通过应用基于屏幕大小(而不是设备用户代理)的规则,当用户更改窗口大小时,您可以更改页面的布局,比如在桌面上并排捕捉窗口,或者在手机上从横向切换到纵向。而且,只需调整浏览器大小,您就可以在不同的大小下测试您的网站——在大多数布局测试中,无需重新加载甚至使用Chrome设备模拟器。
通过使用Bootstrap这样的框架,您甚至可以在不真正了解CSS的情况下使用响应式web设计。
按User-Agent
、显示大小等。例如:
if ($http_user_agent ~* '(blackberry|blazer|danger|ericsson|
Googles+Wirelesss+Transcoder|htc|iemobile|ipaq|iphone|ipod|lg|mobile|
mot|moto|motorola|nec-|netfront|netfront|nokia|operas+mini|palm|
palmsource|panasonic|philips|pocketpc|samsung|sanyo|sec|sharp|sie-|
smartphone|sony|symbian|t-mobile|untrusted|up.browser|up.link|
vodafone/|wap1.|wap2.|webOS|windowss+ce)') {
set $mobile on;
}
取自此处: