跳转到主要内容

("与 Django 的 Wagtail CMS 兼容的会议指南 Python 包:会议、地点和 API。",)

项目描述

Wagtail 会议指南

Meeting Guide App 兼容的 Python 包,适用于 Wagtail CMS,后者运行在 Django Web 框架 上。

先决条件

使用此包需要Wagtail CMS和Django。Wagtail和Django非常适合运行您的网站,但需要开发人员。如果您是Django新手,建议在尝试使用此包之前,先完成Django和Wagtail的教程,链接分别为:DjangoWagtail

还需要Google Geocode API密钥和MapBox API密钥。Google API密钥仅在内容管理系统(通常由管理员使用)中使用,因此免费层应该足够使用。

将安装到您的Django项目中

  • 使用以下命令安装:pip install wagtail-meeting-guide
  • meeting_guidempttwagtailgeowidget添加到您的INSTALLED_APPS中。
  • 添加以下设置
    • WAGTAIL_SITE_NAME(MyCity Intergroup):您的网站名称,通常是小组。
    • BASE_URLhttps://AAMyCity.org):基础URL或网站。
  • 运行迁移:python manage.py migrate meeting_guide
  • 加载会议指南的会议类型:python manage.py loaddata meeting_guide_types.json

配置

  • 进入Wagtail CMS,转到设置会议类型
  • 为每个会议指南代码类型输入您的Intergroup代码
  • 转到区域并输入您的区域;区域可以有父级,因此您可以嵌套它们。例如,您可以有一个没有父级的区域Philadelphia County,以及一个子区域Center City,其父级为Philadelphia County

在Django模板中包含会议指南

在Wagtail中创建的地点和会议的API端点必须添加到您网站的根urls.py中。添加如下一行

urlpatterns = [
    ...
    path("meetings/", include("meeting_guide.urls")),
    ...
]

您可以在任何Django模板中包含会议指南。以下是一个示例

{% extends "base.html" %}

{% load meeting_guide %}

{% block content %}
    {% meeting_guide %}
{% endblock content %}

更多设置

您可以在Django的设置中修改MEETING_GUIDE设置,以更改https://github.com/code4recovery/tsml-ui#advanced-customization中的默认值。以下是一个示例设置块

# Google Maps, Used by the Wagtail Content Management System
GOOGLE_MAPS_V3_APIKEY = "FAKEoyCFYHEYHUoBLAHBLAHYbRqjBafhI3FAKE"
GOOGLE_MAPS_API_BOUNDS = "39.732679,-77.821655|41.553879,-73.896790"
GEO_WIDGET_DEFAULT_LOCATION = {"lat": 40.0024137, "lng": -75.258117}  # The Philadelphia area
GEO_WIDGET_ZOOM = 14

# Key for MapBox, used by the front end served to users.
MAPBOX_KEY = "YourMaxBoxKeyGoesHere"

# Example of sending settings to tsml-ui
MEETING_GUIDE = {
    "flags": ["X", "TC"],
    "show": {
        "listButtons": True,
    },
    "map": {
        "key": MAPBOX_KEY,
    },
    "strings": {
        "en": {
            "types": {
                "X": "Wheelchair",
                "TC": "Temp Closed",
            },
        },
    },
    "feedback_emails": "manager@your-integroup.org",
}

将会议列表下载为PDF

要将会议列表下载为PDF,您必须在您的系统上安装wkhtmltopdf。下载的端点是meeting-guide/download/

您可以在Django设置中更改打印和样式选项。选项是Python字典,而样式是包含CSS的字符串

WAGTAIL_MEETING_GUIDE_PRINT_OPTIONS = {
    'page-width': '100mm',
    'page-height': '120mm',
    'margin-top': '10mm',
    'margin-right': '10mm',
    'margin-bottom': '10mm',
    'margin-left': '10mm',
    'header-left': '[section]: [subsection]',
    'encoding': "UTF-8",
    'no-outline': None
}

WAGTAIL_MEETING_GUIDE_PRINT_STYLES = """
html, td {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  color: red;
}

body {
  margin:0;
}

h1, .h1 {
  font-size: 24px;
}
"""

发行说明

https://github.com/code4recovery/wagtail-meeting-guide/releases/

维护者

项目详情


下载文件

下载适用于您平台的项目文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

wagtail-meeting_guide-1.5.0.tar.gz (420.9 kB 查看哈希值)

上传时间

构建分布

wagtail_meeting_guide-1.5.0-py3-none-any.whl (429.8 kB 查看哈希值)

上传时间 Python 3

由以下提供支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面