导读:很多朋友问到关于django如何适配手机的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
如何在iPad上安装Django,iPad用的软件为pythonista3?
有时候,就是不想正襟危坐的坐在电脑前面,想要在手机上轻量级的写点代码。
或者用 iPad 外接一个键盘,侯爵老师一度迷恋这种工作方式,据说可以拥有更加专注的沉浸式编程体验。
今天就来介绍 2 个可以在手机和 iPad 上写代码的小工具。
ios 平台:Pythonista
Pythonista 自带自动联想,方便移动端敲代码。
值得一提的是,作者开发了一套库内置在 Pythonista 里面,从而让 Python 语法可以调用 iOS 上的原生控件。
比如这个40几行代码的时钟:
比如充满童年回忆的打砖块游戏:
闲暇之余,可以看看这些小项目是怎么写出来的。虽然 Pythonista 收费68元,但物有所值。
视频详解:
视频内容
侯爵老师讲解 Pythonista 的使用
Android 平台:Termux
Android 手机系统是基于 Linux 内核的,所以可以使用终端类软件去「进入」手机的内核。
和电脑上终端差不多,比如输入 ls 就能看到当前目录下的所有文件。
输入 python 就可以进入 python 环境,配合 CodeBoard 编程键盘效果更佳。(使用 pkg install python 安装 python )
安装库也毫无压力,输入 pip install ptpython 就可以安装。
视频详解:
视频内容
如何在手机上打开django网页
settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.staticfiles',
)
urls.py
from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
)
if settings.DEBUG:
urlpatterns = patterns('',
url(r'^media/(?Ppath.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
url(r'', include('django.contrib.staticfiles.urls')),
) + urlpatterns
如何使用Django编写手机App服务端后台
首先app后台和语言,框架没有关系,适合不适合要看开发者对这个东西的熟悉程度。django作为python中一个比较完整的框架,包括一个完整项目开发所需的大部分功能,所以使用django可以快速完成项目,当然也包括app后台服务器代码。如果解决了您
产品测试中,如何模拟网络不佳的情况?
1. 前言
下面将描述怎么用最快和最低成本搭建一个ATC服务来构造一个弱网络wifi,然后使用自研的PC工具“网络分析大师”来快捷地切换不同的弱网络场景,免去配置ATC弱网络参数的繁杂。
1.1 安装程序
包括:
1. Vmware Workstation虚拟机
2. Ubuntu 14.04操作系统虚拟机镜像vmdk
3. Ubuntu 14.04操作系统iso-64位
4.网络分析大师
1.2 网络环境
需要使用体验网或外网
1.3 硬件要求
一台PC,一块无线网卡(建议如下的带多天线的PCI网卡,亲测半层楼无遮挡可以满格信号)
2. Ubuntu安装
Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统 , 弱网络应用的ATC将搭载在其上,所以要现行安装。
2.1 虚拟机or双系统
虚拟机装起来略为方便,因为提供的虚拟机镜像已经装好了整个环境,只需要启动ATC就可以了。
但是虚拟机没有双系统稳定,还是建议做双系统,直接把Ubuntu装起来,然后再安装python 2.7+和Django 1.7+
2.2 虚拟机安装
安装Vmware Workstation,同时直接加载服务器上提供的Ubuntu操作系统虚拟机镜像vmdk即可
2.3 双系统安装
如果需要下载32位的Ubuntu安装镜像,可去官网:
Download Ubuntu Desktop
3. Ubuntu wifi 热点创建
最终我们的测试手机将连上Ubuntu的wifi热点来接入弱网络环境。
Ubuntu的环境下有多种创建热点的方式,自己也尝试过不同的方法,有的方法可以创建成功,但Android系统无法找到,有的根本就无法创建成功,最终选择了一个linux系统安装软件的方式来尝试,成功创建并启动。把这最简单的方法备份一下。
3.1 选择Ubuntu版本,更新软件源
这里选择的ubuntu版本为稳定的14.04版本,若选择最新的15.04版本,可能会存在无相应的软件源。当然,如果你能找到对应的软件源,也可以手动进行安装。
$sudo add-apt-repository ppa:nilarimogard/webupd8
$sudo apt-get update
$sudo apt-get install ap-hotspot
3.2 配置ap-hotspot
更新好软件源,然后安装完成ap-hotspot,进入配置界面,输入ssid和密码,即可:
$sudo ap-hotspot configure //配置界面,需要输入ssid和密码
Detecting configuration...
Detected eth0 as the network interface connected to the Internet. Press ENTER if this is correct or enter the desired interface below (e.g.- eth0, ppp0 etc.)://默认按Enter即可
Detected wlan0 as your WiFi interface. Press ENTER if this is correct or enter the desired interface (e.g.- wlan1)://默认按Enter即可
Enter the desired Access Point name or press ENTER to use the default one (myhotspot)://Wifi名字
Enter the desired WPA Passphrase below or press ENTER to use the default one (qwerty0987)://wifi 密码
3.3 启动wifi热点
执行完以上步骤之后,可以启动wifi
$sudo ap-hotspot start //启动wifi
Starting Wireless Hotspot...
Wireless Hotspot active
当出现以上内容即为启动成功,这个时候可以通过移动设备连接。
3.4 可能会碰到的问题3.4.1 一直处于Starting Wireless Hotspot…状态
ubuntu14.04上使用的版本为hostapd2.x版本,但hostapd2.x版本存在bug,这里的解决方案是需要将默认版本移除,使用hostapd1.0版本即可
$sudo apt-get remove hostapd
重新安装hostapd1.0版本,这里在网上提供的版本中,找不到对应的包,这里在父目录下找到了对应1.0的安装包,下载安装之:
$wget //如果是32位系统,此目录下可找到32位包
sudo dpkg -i hostapd*.deb //指定刚才下载的安装包
sudo apt-mark hold hostapd //禁止hostapd自动更新到新版本
安装完成之后,重启即可使用。
3.4.2 “Another process is already running”问题
这个问题是在已经有一个wifi热点在运行的时候,重新进入的时候尝试重新打开时,会报此错误,按照如下操作即可解决
sudo rm /tmp/hotspot.pid //删除已有的热点之后重新启动即可
4. ATC安装4.1 ATC简介
ATC是Facebook开源移动网络测试工具,可以用来模拟不同的网络环境,可控制的方面主要包括带宽、时延抖动、丢包率、错包率、包重排等衡量网络质量的重要指标。其主要的工作原理是利用了Linux流量控制系统,通过纯python的网络库pyroute2调用netlink的API控制的。刚才提到的几个重要的指标:
· bandwidth
· latency
· packet loss
· corrupted packets
· packet ordering
ATC网络结构构成图
4.2 ATC安装所需要的环境
如果直接使用提供的虚拟机镜像,则ATC已经安装好,不需要再安装,跳过安装步骤直接运行即可。如果自行搭建双系统或者全新虚拟机,则需先安装ATC。
以下步骤都在ubuntu14.04上完成:
ATC只能运行在Linux上,其安装环境使用的是虚拟机+ubuntu+无线网卡及python 2.7+和Django 1.7+。
这里使用pip这种最简单方式安装ATC
首先,必须安装Python2.7以上版本,然后安装pip:
sudo apt-get install python-pip python-dev build-essential)
sudo pip install --upgrade pip
然后,使用pip直接安装好ATC所有组件:
$pip install atc_thrift atcd django-atc-api django-atc-demo-ui
$pip install django-atc-profile-storage
所有都安装完成之后,需要先创建一个Django工程将ATC配置运行起来
$django-admin startproject atcui
$cd atcui
创建完成django工程后,需要进行一些配置才能够使应用完全运行起来,首先,编辑atcui/setting.py,添加ATC应用到INSTALLED_APPS
INSTALLED_APPS = (
...
# Django ATC API
'rest_framework',
'atc_api',
# Django ATC Demo UI
'bootstrap_themes',
'django_static_jquery',
'atc_demo_ui',
'atc_profile_storage',
)
接着,编辑atcui/urls.py,添加ATC应用的路由信息到urlpatterns,经过这步之后,在之后url方式访问才可以有正确的响应:
from django.views.generic.base import RedirectView
urlpatterns = patterns('',
...
# Django ATC API
url(r'^api/v1/', include('atc_api.urls')),
# Django ATC Demo UI
url(r'^atc_demo_ui/', include('atc_demo_ui.urls')),
# Django ATC profile storage
url(r'^api/v1/profiles/', include('atc_profile_storage.urls')),
url(r'^$', RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),
)
最后,还需要生成Django工程的数据库文件:
$python manage.py migrate
4.3 运行ATC
首先要启动的是核心组件atcd,同时需要指定wan口和lan口,默认启动方式如下:
$sudo atcd
这里假定eth0是连接wan的接口,eth1是连接lan的接口,以上操作就可生效
4.4 设置ATC弱网络环境
当ATC成功运行,并且可以通过访问时,我们有两种方式可以进行网络的设置。
· 通过ATC UI进行设置
· 通过ATC提供的API进行网络类型设置
· 通过网络分析大师来自动设置(推荐方案) ——将在下一章节单独介绍,建议先看
4.4.1 通过ATC UI进行设置
首先,手机连接上热点wifi
其次,通过浏览器访问ATC WEB页面,你会看到下图的页面,滑动页面可以看到,其中包含了Notifications、Authentication、Profiles、Shaping Setting。前两项可不用,直接使用后两部分。
接着,Turn On之后,通过select已有的网络模型来设置手机的网络环境。当select之后就会出现Update Shaping,点击之后即生效)。
或者,通过创建新的网络模型来设置手机的网络环境。打开Sharping Settings,输入各项模拟值,下图为PC侧截图(手机侧同理)。输入完成之后,点击Profiles下面的Create按钮并填写相应的模型名称。同样,点击Update Shaping使设置生效。
最后,wanem以及ATC两个环境都存在,但不能在同一台服务器上使用,所以,大家弱网络测试时,移步到ATC测试。有什么使用问题,可以一起交流下。
4.4.2 通过ATC API设置网络模型
·通过GETing /api/v1/shape/获取当前设备的网络状态(模型)
·通过POSTing /api/v1/shape/对当前设备网络状态进行设置
·通过DELETE /api/v1/shape/ 对当前设备网络状态进行删除,恢复正常网络
Examples:
·检查当前设备的网络状态
当前设备未有任何网络状态设置↑
当前设备设置了对应的网络状态↑
·设置设备的网络状态
设置网络状态时,通常需要先配置好网络模型的各项参数,可以本地设置好参数,然后使用curl进行设置
·删除设备的网络状态
至此,通过ATC API即可完成对设备的查询、设置、删除。
5.网络分析大师
网络分析大师目前提供抓包、弱网络接入的功能。本文中只介绍弱网络接入步骤:
·启动ATC
·启动PC上启动网络分析大师,插上移动设备,点击“连接设备”
·移动设备连上ATC服务器的热点wifi
·通过下方的带宽限制、网络类型直接切换当前设备的弱网络环境
当然如果想快速模拟弱网络环境,腾讯有一款非常好用的产品,WeTest云真机--弱网络测试。云端有很多真机,在弱网络环境下,在网页上使用云端真机操作APP产品,进行测试。
这个平台上的机型很全。你可以测试各个机型在弱网络环境下的产品操作。感觉很方便
django和python 做的管理系统能在手机上运行么
手机想运行server的话不大可能,做好的系统用手机访问可以的,就是普通的网站
django能开发手机客户端么
django是python的web开发框架,可以快速构建内容主导型的网站,比如个人博客,新闻网站等。
手机客户端一般是用android(java)和IOS(objective-c)进行开发。django里包含网站的后台程序,和所有web后台程序一样,django写的后台程序是可以来开发手机应用的服务器端的。
结语:以上就是首席CTO笔记为大家整理的关于django如何适配手机的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何适配手机的相关内容别忘了在本站进行查找喔。