跳转到主要内容

景观摄影观测站

项目描述

Build Status codecov PyPi version

Terralego后端用于OPP模块

需求

首先,为观测站创建一个数据层

./manage.py create_observatory_layer -n observatory

然后获取给定的主键,例如10。

需要设置的设置

TROPP_OBSERVATORY_LAYER_PK=10  # replace by primary key given by command

TROPP_OBSERVATORY_ID = 20 # set the nationnal id of your observatory

VERSATILEIMAGEFIELD_RENDITION_KEY_SETS = {
  'terra_opp': [
    ('original', 'url'),
    ('full', 'thumbnail__1500x1125'),
    ('list', 'thumbnail__300x225'),
    ('thumbnail', 'thumbnail__180x120'),
    ('thumbnail_vertical', 'thumbnail__120x180'),
  ]
}

AUTH_USER_MODEL = 'terra_accounts.TerraUser'

媒体文件

如果你的项目不使用默认的django存储,则必须定义并设置一个URL检索器,以便告诉weasyprint在哪里找到您的媒体文件。

使用来自S3存储的媒体文件的URL检索器示例

from django.conf import settings
from terra_opp.renderers import django_url_fetcher


def custom_url_fetcher(url, *args, **kwargs):
   scheme = 'https' if settings.AWS_S3_SECURE_URLS else 'http'
   url_prefix = f"{scheme}://{settings.AWS_S3_CUSTOM_DOMAIN}"

   if url.startswith(url_prefix):
       url = url.replace(
           url_prefix,
           settings.AWS_S3_ENDPOINT_URL + settings.AWS_STORAGE_BUCKET_NAME
       )

   return django_url_fetcher(url, *args, **kwargs)

然后您必须在设置中引用此自定义URL检索器。例如,如果您的检索器定义在custom/fetcher.py

TROPP_URL_FETCHER = 'custom.fetcher.custom_url_fetcher'

启动开发实例

test_opp django项目中定义您想要的设置。

docker-compose up

然后初始化数据库

docker-compose exec web /code/venv/bin/python3 /code/src/manage.py migrate

并创建基本层

docker-compose exec web /code/venv/bin/python3 /code/src/manage.py create_observatory_layer -n observatory

现在您可以编辑您的代码。Django runserver在内部启动,因此这是一个自动重载服务器。

您可以在http://localhost:8000/api/访问API

测试

要运行测试套件,只需启动

docker-compose exec web /code/venv/bin/python3 /code/src/manage.py test

发布新版本

# on the master branch
# update the file CHANGES.md with your latest changes
git changelog

# Next update the version in the file terra-opp/VERSION.md
echo X.X.X > terra-opp/VERSION.md

# Next use git release to create the tag et push your branch & tag to origin
git releasse X.X.X

完成这些步骤后,您现在可以前往GitHub仓库,使用相应的标签创建一个新版本。

0.7.2 / 2021-04-30

  • 删除城市时不会删除视角
  • 现在正确大写城市的标签

0.7.1 / 2021-04-29

  • 将视角的默认活动状态更改为false

0.7.0 / 2021-04-28

  • 修复主题和城市视图的权限
  • 向主题添加类别
  • 添加主题和城市筛选

0.6.11 / 2021-04-27

  • 修复相关文件上传问题
  • 修复图片排序

0.6.10/ 2021-04-24

  • 添加视图点排序的ID
  • 添加活动添加筛选
  • 添加图片搜索
  • 添加排序功能

0.6.9 / 2021-04-22

  • 覆盖创建模型混入以首字母大写城市标签 (#68)

0.6.8 / 2021-04-20

  • 更新翻译
  • 为图片和活动添加更改状态信号

0.6.7 / 2021-04-19

  • 将城市添加到SimpleViewpoint序列化器

0.6.6 / 2021-04-19

  • 增强视图点筛选

0.6.5 / 2021-04-15

  • 为视图点PDF添加预览视图
  • 暂时修复所有表单的权限
  • CampaignZipViewpointPdf: API视图以检索给定活动的所有视图点PDF

0.6.4 / 2021-04-14

  • 添加垂直缩略图
  • 标准化城市名称的大小写 (#62)
  • 更新翻译
  • 将图片标识符从整数更改为字符串

0.6.3 / 2021-04-12

  • 允许通过图片标识符筛选视图点

0.6.2 / 2021-04-10

  • 使用常量状态
  • 添加last_picture_date字段
  • 添加图片数据
  • 添加自动关闭功能
  • 添加统计数据
  • 添加活动到图片的链接

0.6.1 / 2021-04-07

  • 为simpleviewpoint序列化器添加活动状态

0.6.0 / 2021-03-30

  • 增强活动视图点

0.5.6 / 2021-03-30

  • 更新readme文件中的发布流程 (#55)
  • 添加更多一致性设置命名和文档
  • 添加对TROPP_OBSERVATORY_ID的检查

0.5.5 / 2021-03-30

  • 损坏的发布

0.5.4 / 2021-03-29

  • 为仅活动的视图点添加活动状态和端点

0.5.3 / 2021-03-17

  • 将owner_id添加到图片以修改它
  • 为图片添加业务标识符

0.5.2 / 2021-03-11

  • 在视图点上添加活动状态

0.5.1 / 2021-02-17

  • 在迁移时添加权限生成

0.5.0 / 2021-02-17

  • 添加翻译
  • 添加权限和检查
  • 更新安装流程
  • 增强命令

!! 警告:破坏性更改 !!

  • 您需要调整项目设置和需求
  • 使用新的django-terra-settings代替django-terra-utils
  • 一些terra-utils函数已直接集成

0.4.2 / 2020-09-09

  • 从JSON属性中删除城市和主题,使其成为每个视图点实例的相关对象
  • 改进相关文档序列化器,不再以base64返回文件,而仅返回访问URL

0.4.1 / 2020-08-26

  • 删除信号,并在相关视图集中执行所有逻辑
  • 添加创建自己的URL获取器的可能性
    • 添加TROPP_URL_FETCHER设置和说明
  • 修复factory boy版本
  • 使用django.db.models.JSONField代替django.contrib.postgres.fields

0.4.0 / 2020-07-30

  • 警告!破坏性更改

    • 由于存储使用的统一性,您需要在模板中使用file://方案来访问图片
    • 弃用通过名称定义观测站层
    • 现在您需要定义层pk -> TROPP_OBSERVATORY_LAYER_PK。
    • 现有前端应用程序应通过TROPP_OBSERVATORY_LAYER_PK=1进行修复
  • 修复图片属性

  • 修复预取数据作为列表而不是查询集

  • 修复restframework未列在setup requirements中

  • 修复存储使用,使其与weasyprint配合使用默认和自定义存储

  • 添加处理JPG的正确依赖项

  • 允许在创建时设置层名称

  • 如果观测站层pk未定义,则不阻塞,以允许创建它

  • 在未定义正确的层设置的情况下阻止启动

  • 添加并改进配置检查

  • 添加创建用于观测站的点层的命令

  • 通过pk设置定义观测站层,并向前端提供信息,以避免期望硬编码的pk=1层用于瓦片

  • PK和相应的端点自动添加到/api/settings,以向前端发送动态配置

  • 存储存储桶不再是必需的。

0.3.8 / 2020-06-23

  • 修复默认设置

0.3.7 / 2020-06-19

  • 支持django 3.0
  • 为模板使用添加"as_versatile"过滤器

0.3.6 / 2019-12-19

  • 与python 3.8、django 3.0和DRF 3.11兼容
  • 添加flake8进行linting

0.3.5 / 2019-11-04

  • 修复MEDIA_URL可能为空,破坏url获取器

0.3.4/ 2019-10-10

  • 从图片中删除注释字段

0.3.3 / 2019-10-09

  • 修复Manifest以包括md文件

0.3.0 / XXXX-XX-XX

第一个独立发布

  • 从 terra-common 包中提取以使其成为一个独立包

项目详情


下载文件

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

源代码分发

terra-opp-0.7.2.tar.gz (37.0 kB 查看哈希值)

上传时间 源代码

由以下支持