django应用程序将包含manifest.json和服务工作实例,以启用渐进式web应用行为

django-pwa的Python项目详细描述


django pwa
==


构建状态可维护性codecov pypi-下载pypi-
下载pypi-下载

这个django应用程序将您的项目变成一个"进步的web"
应用程序<;https://developers.google.com/web/progressive web apps/>;`_.
在Android手机上导航到您的站点将提示您将
应用程序添加到主屏幕。

图::https://github.com/silviolleite/django pwa/raw/master/images/screenshot1.png
:alt:prompt for install



prompt for install


从主屏幕启动应用程序将显示"不带浏览器的应用程序"
chrome<;https://github.com/silviolleite/django pwa/raw/master/images/screenshot2.png>;`\uuuu.
就其本身而言,应用程序必须在HTML中提供所有导航功能(不依赖浏览器的后退或前进按钮)。


Requirements
=您的站点,请查看"让我们
加密<;https://let s encrypt.org/>;``和
`zerosl<;https://zerosl.com/>;`_.

安装
==


>从pypi安装:







配置
====


将"pwa"添加到设置中的"已安装的应用"列表中。py:

代码::python

installed_apps=[

'pwa',

]


代码::python


pwa_app_name='我的应用程序'
pwa_app_description="我的应用程序说明"
pwa_app_theme_color='0a0302'
pwa_app_background_color='ffff'
pwa app_display='独立'
pwa_app_scope='/',
pwa_app_orientation='任意'
pwa_app_start_url='/'
pwa_app_icons=[
{
‘src':'/static/images/my_app_icon.png',
"大小":"160x160"
}
]
pwa-app-splash-screen=[
{
"src":/static/images/icons/splash-640x1136.png',
"媒体":(设备宽度:320px)和(设备高度:568px)以及(-webkit设备像素比:2)
}
]
pwa_app_dir='ltr'
pwa_app_lang='en us'

所有设置都是可选的,应用程序将在其内部默认设置下正常工作。强烈建议至少设置"pwa-app-u-name"、"pwa-app-u-description"、"pwa-app-u-icons"和"pwa-app-u-splash-screen"。

代码::python

from django.url导入url,include


url('',include('pwa.url'),#必须使用空字符串作为url前缀

]


代码::html

{%load pwa%}

<;head>;

{%progressive_web_app_meta%}

<;head>;


运行django测试服务器时的故障排除
===

<1。验证是否正在为`/manifest.json``服务
2。验证是否正在为`/servicework.js``提供服务
3。验证是否正在为`/offline``服务
4。使用Chrome Developer工具中的"应用程序"选项卡验证
Progressive Web应用程序的配置是否正确。
5。使用"应用程序"选项卡上的"添加到主屏幕"链接,验证您是否可以成功添加应用程序。



code::js

///基本服务工作者实现。要使用您自己的服务工作者,请在settings.py

var filestocache=[
'/offline',
'/css/django pwa app.css',
'/images/icons/icon-72x72.png',
'/images/icons/icon-96x96.png',
'/images/icons/icon-128x128.png',
'/images/icons/icon-144x144.png',
'/images/icons/icon-152x152.png',
'/images/icons/icon-192x192.png',
'/images/icons/icon-384x384.png',
'/images/icons/icon-512x512.png',
'/static/images/icons/splash-640x1136.png',
'/static/images/icons/splash-750x1334.png',
'/static/images/icons/splash-1242x2208.png',
'/static/images/icons/splash-1125x2436.png',
'/static/images/icons/splash-828x1792.png',
'/static/images/icons/splash-1242x2688.png',
'/static/images/icons/splash-1536x2048.png',
'/static/images/icons/splash-1668x2224.png',
'/static/images/icons/splash-1668x2388.png',
'/static/images/icons/splash-2048x2732.png'
];

//cache on install
self.addEventListener("install",event=>;{
this.skipwaiting();
event.waituntil(
caches.open(staticcachename)
。然后(cache=>;{
返回cache.addall(filestocache);
})

};

///激活时清除缓存
self.addEventListener('activate',event=>;{
event.waituntil(
caches.keys()。然后(cachenames=>;{
返回promise.all(
cachenames
.filter(cachename=>;(cachename.startswith("django pwa-"))
.filter(cachename=>;(cachename!==staticcachename))
.map(cachename=>;caches.delete(cachename))

}

};

///从缓存服务
self.addEventListener("fetch",event=>;{
事件.响应(
缓存.匹配(事件.请求)
。然后(响应=>;{
返回响应获取(事件.请求);
})
。捕获(()=>;{
返回缓存.匹配('offline');
})

};


添加您自己的服务工作线程
==

==

若要添加服务工作线程功能,您需要在模板
目录中创建一个
``servicework.js`或类似名称的模板,然后使用pwa_service_worker_path
变量指向它(pwa_app_fetch_url被传递)。代码::python

pwa_service_worker_path=os.path.join(base_dir,'my_app','servicework.js')


默认情况下,脱机视图
==

,脱机视图是在
``templates/offline.html``中实现的,如果继续使用默认的``servicework.js```则可以在模板目录中覆盖它。


feedback
==


我欢迎您的反馈和请求。享受!

许可证
=|构建状态图像::https://travis ci.org/silviolleite/django pwa.svg
:目标:https://travis ci.org/silviolleite/django pwa
…|维修性图像::https://api.codeculate.com/v1/badges/246542ea921058c4f76f/维修性
:目标:https://codeculate.com/github/silviolleite/django pwa/维修性
。| codecov图像::https://codecov.io/gh/silviolleite/django pwa/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/silviolleite/django pwa
。| pypi-下载image::https://img.shields.io/pypi/dm/django pwa.svg
:目标:https://pypi.org/project/django pwa/
…| pypi-下载image::https://img.shields.io/pypi/v/django pwa.svg
:目标:https://pypi.org/project/django pwa
| pypi-下载image::https://img.shields.io/pypi/djversions/django pwa.svg
:目标:https://pypi.org/project/django pwa



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

推荐PyPI第三方库


热门话题
CentOS上的java Spring Boot简易应用程序需要很长时间才能启动   java如何检查字符串值是否等于null?   收集器中的java映射值。分组方式()   java需要支持Azure AD B2C webapp集成   java如何加入线程以停止它?   java如何使用意图传递类的对象?   java如何在战争环境中发现CDI生产者?   多模块项目中java奇怪的编译器行为   java如何在web应用程序中管理密码?   java从http服务器、filehandler中删除冗余代码   java使用反射来获取泛型类的字段   java Spring MVC/Hibernate/MySQL 400错误请求错误   给定正整数a的java幂为3   在Java中将元素拆分为不同数量的列表?   java展开折叠窗格