与MOLO一起使用的全球网站。

molo.globalsite的Python项目详细描述


MOLO全球网站

Continuous IntegrationCode Coverage

提供代码以帮助识别访问者的国家,并使用MOLO代码库将其重定向到相关的国家网站或全球网站。

开始

安装molo.globalsite包:

pip install molo.globalsite

在应用程序设置中添加:

INSTALLED_APPS = (
   'molo.globalsite',
)

MIDDLEWARE = (
   'molo.globalsite.middleware.CountrySiteRedirectMiddleware'
)

# Global Site URL
GLOBAL_SITE_URL = environ.get('GLOBAL_SITE_URL', '')

# A path to geoip database.
GEOIP_PATH = join(dirname(dirname(abspath(__file__))), 'geoip_db')

您可以从MaxMind下载geoip数据库国家数据库,或者从molo/globalsite/geoip_db复制它。

在应用程序URL中添加全局网站URL.py:

urlpatterns += patterns('',
     url(r'^globalsite/', include('molo.globalsite.urls', namespace='molo.globalsite', app_name='molo.globalsite')),
)

在国家/地区网站基本模板中添加HTML块,以允许用户更改其国家/地区网站:

{% block country %}
    {% if settings.globalsite.GlobalSiteSettings.show_country %}
        {% trans "Country" %}: {{request.site}}
        <a href="{% url 'molo.globalsite:change_country' %}">{% trans "Change your country" %}</a>
    {% endif %}
{% endblock %}

如何重定向用户?

中间件通过检查会话来重定向用户,如果在会话中设置了国家/地区站点,则会将用户重定向到国家/地区站点。如果国家/地区站点未处于会话中并且地理位置已激活,则它将使用用户的IP地址检测其国家/地区并将用户重定向到受支持的国家/地区站点。但是,如果检测到的国家/地区不受支持或地理位置未激活,它将显示受支持国家/地区站点的列表。

全局站点设置

可以在CMS的“设置”->;“全局站点设置”下访问全局站点设置。

激活全局站点: 激活后,它会将当前站点设置为全局站点。

激活自动重定向: 激活后,当用户访问全球网站时,它会自动将用户重定向到他们选择的国家。

激活地理位置: 激活后,它将检测用户的国家并将其重定向到受支持的国家网站。如果检测到的国家不可用,它将显示可用的国家网站。

说明: 说明将显示在全球网站的主页上。

显示国家: 激活后,将显示国家/地区名称,用户将能够更改其国家/地区网站。

国家/地区

在CMS中的“全球站点”下,您可以创建国家站点和国家站点的区域。

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

推荐PyPI第三方库


热门话题
java在AlertDialog builder标题右侧放置图标   安装weblogic server12时发生java获取错误。1在windows 10上   java无法导入:安卓。支持v7。小装置。Android Studio中的RecyclerView   java Android应用程序等待通知奇怪行为   java如何比较ArrayList中的整数元素?   java Quartz属性不会触发Quartz作业   java轻松地将许多JavaFX属性绑定到UINode   Maven插件管理器导致java错误消息的原因是什么?   JAXB解组错误后java文件被阻止   java如何在spark kafka流中创建消费者组并将消费者分配给消费者组   java Gps lat&long随机显示非常不准确的结果   java使用assest文件夹文件在Android上执行shell命令   java如何在客户端使用javascript提取文本   java扩展描述的distincts之和   java重写默认Spring数据REST配置   java SQL未命名参数语法   二进制搜索任务的java真实解决方案   java在一个多模块多数据源项目中,用什么正确的方式来指示将哪个数据源注入我的DAOs?