django smartagent是最快、最完整的用户代理解析器

django-smartagent的Python项目详细描述


====
django智能代理
==
描述
----


:作者:
james pacileo

:版本:
0.1.0

:描述:
django智能代理试图为django开发人员提供快速、完整的浏览器检测实用程序。

:要求:
django 1.2+



已安装的应用程序=(







添加中间件



s用于将浏览器特性附加到请求对象,可通过**request.browser_info**


user-agent数据文件
----



您可以从github获取最新的数据文件https://github.com/jamespacileo/django smartagent/downloads。


获取最新的数据文件后,将其放在项目下文件夹。要通知django smart agent文件位置,您需要编辑settings.py,方法是添加:





smart_agent_settings={
"agent_data set_location":/path/to/agent_data_set.pkl',
}


对于拥有移动版本的站点来说很流行,项目中有一些实用方法。



@render_to(template='desktop_template.html',mobile_template='mobile_template.html')
def page(请求):


articles=articles.objects.all()[:30]
返回{
"articles":articles,
}

r/>::


def page(请求):

如果请求,则浏览器信息.get('ismobiledevice')而不是请求.session.get('force_desktop_version'):
返回render_to_response('mobile_tempalte.html',{'articles':articles,},
context_instance=requestcontext(request))
返回render_to_response('desktop_template.html',{'articles':articles,},
context_instance=requestcontext(request))



存在两个实用程序URL,用于强制/取消强制站点的桌面操作。这是因为用户并不总是希望查看站点的移动版本。

-**智能代理/force_desktop_version/**强制移动站点的桌面版本

-**智能代理/force_desktop_version**强制移动设备查看移动版本ion

::


urlpatterns=patterns('',

(r'^smartagent/',include('smartagent.urls'))


settings
——


可以在项目设置中添加一个设置变量。

rt_agent_settings={
"agent_dataset_location":"agent s.pk",
}

----


django smartagent将"browser_info"字典添加到"request"对象中,该对象包含与用户浏览器相关的功能。

+??-+-——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————+——+————+————————————————————————————————————————————————————————————————————————————————————————————————————---——————————————————————————————————————————————————————————————————————————————————————————————————/>+——+——————————————————————————————————————————————————————————————————————————————————————————————+
+——+——+————————+————————————————————————————————————————————————————————————————————————————————————+
+???+???+???+
+vbscript+如果浏览器支持visaul basic scripting+
+???+???+???+
+平台+主机平台用户的浏览器+
+——+——+——+——————+————————————————————————————————————————————————————————————————————————————————pApplixJava apple++---------------------------------------------+BR/> +背景音+如果浏览器支持背景声音+BR/> +------------------------------------------------+BR/> +WiN64 + IF。主机操作系统是64位的,如果浏览器支持javascript,则是64位的。+如果浏览器是beta发行版,+
+??-+??-+??-+
+alpha+如果浏览器是alpha发行版,+
+??-+??-+??-+??-+
+minor+次要版本+
+??-+??-+??-+
+ISsyndicationReader+如果用户代理是syndacation reader+
+??-+??-+??-+
+win32+如果主机操作系统是32位的,+
+???+???+???+
+is mobile device+如果主机是移动设备,+
+???+???+??--+
+crawler+如果用户代理是web爬虫程序,+
+——+——+——————+
+win16+如果主机操作系统是16bit+
+——+——+——+—————————————————————————————————————————————————————————————————————————————————————————————————————————---+————————————————————————————————————————————————————--+

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索文本中的字符串模式   SecurityManager引发异常的java Mockito模拟   java(仅限Netbeans)未找到适合jdbc的驱动程序:mysql://localhost   java计算给定字符串所有前缀的哈希值的子字符串的哈希值   java如何避免每次访问REST认证API以使用实际服务   用于HTML的java Jsoup选择器组合   可以复制或引用的java构造函数   Java中的HashMap。搞砸containsKey返回意外值   java数组平均值计算   java是检查字符串是否包含特定字符的最有效方法   java反序列化对象类已更改   java典型的EJB3/JPA/JSF中的事务范围是什么?   Install4j的java错误代码20   java:compileJava在本地项目()依赖项上的多模块项目上持续失败“错误:包x.y.z不存在”   java有一种生成Suppression的方法。现有代码库中checkstyle的xml文件?