奥斯卡的扩展包括商店

django-oscar-stores的Python项目详细描述


https://secure.travis-ci.org/django-oscar/django-oscar-stores.pngCoverage

这是django-oscar的扩展,添加了对存储的支持。它 提供:

  • 使用谷歌地图进行地理编码的商店定位页面。它还支持使用 显示最近商店的浏览器位置。
  • 存储详细信息页面,包括营业时间
  • 门店分组
  • 用于管理商店的仪表板

它具有高度的可扩展性,可作为建筑复杂的基础。 在oscar站点中存储功能。

屏幕截图

面向客户的页面:

https://github.com/django-oscar/django-oscar-stores/raw/master/docs/images/locator.thumb.pnghttps://github.com/django-oscar/django-oscar-stores/raw/master/docs/images/detail.thumb.png

仪表板页面:

https://github.com/django-oscar/django-oscar-stores/raw/master/docs/images/dashboard-list.thumb.pnghttps://github.com/django-oscar/django-oscar-stores/raw/master/docs/images/dashboard-detail.thumb.png

依赖关系

GeoDjango被使用,因此需要空间数据库。我们推荐Postgis。 Django的文档包括一些installation instructions,尽管它是著名的 因为你很狡猾。

spatialite是另一种选择,尽管设置起来可能很棘手。在ubuntu上, 您可以执行以下操作:

$ sudo apt-get install spatialite-bin libspatialite3 libgeos++-dev libgdal-dev libproj0

虽然不支持c,但也需要pysqlitepython包 默认情况下为扩展名。要解决此问题,有两个选项:

  1. 下载软件包,编辑setup.cfg以启用C扩展并安装:
$ pip install pysqlite --no-install
$ vim $VIRTUAL_ENV/build/pysqlite/setup.cfg
$ pip install pysqlite
  1. 使用自定义分支:
$ pip install git+git://github.com/tinio/pysqlite.git@extension-enabled#egg=pysqlite

安装

首先,确保使用的是空间数据库并安装了django oscar。

安装软件包:

$ pip install django-oscar-stores

然后将stores添加到INSTALLED_APPS。现在更新根目录urls.py

fromdjango.views.i18nimportJavaScriptCatalogfromoscar.appimportshopfromstores.appimportapplicationasstores_appfromstores.dashboard.appimportapplicationasdashboard_appurls=[# basic configuration for Oscarurl(r'',shop.urls),# adds URLs for the dashboard store managerurl(r'^dashboard/stores/',dashboard_app.urls),# adds URLs for overview and detail pagesurl(r'^stores/',stores_app.urls),# adds internationalization URLsurl(r'^jsi18n/$',JavaScriptCatalog.as_view(),name="javascript-catalogue"),]

您还需要下载GeoIP data files并将GEOIP_PATH设置为指向 合适的目录。

设置

  • GOOGLE_MAPS_API_KEY(默认:未设置)。地图API密钥,用于地图和地理代码API。 你必须提供这把钥匙。
  • STORES_GEOGRAPHIC_SRID(默认值:3577)。这是用来表示距离的 计算。有关详细信息,请参见http://spatialreference.org
  • STORES_GEODETIC_SRID(默认值:4326)。
  • STORES_MAX_SEARCH_DISTANCE(默认值:无)。此筛选器存储 按距离查询。可以使用距离对象设置单位:
fromdjango.contrib.gis.measureimportD# Maximal distance of 150 milesSTORES_MAX_SEARCH_DISTANCE=D(mi=150)# Maximal distance of 150 kilometersSTORES_MAX_SEARCH_DISTANCE=D(km=150)

贡献

repo中有一个沙盒站点,它是一个示例oscar项目,使用 商店分店。设置为:

$ make sandbox

然后使用以下命令获取geoip文件:

$ make geoip

这将加载一个fixture,该fixture为超级用户提供测试仪表板的功能:

email: superuser@example.com
username: superuser
password: testing

使用以下命令运行测试:

$ pytest

许可证

django-oscar-stores在许可的New BSD license下释放。

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

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序