首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Wagatail 2.1 (Django)自定义设置从代码段访问

在 Wagtail 2.1(基于 Django)中,自定义设置可以通过在 Django 的 settings.py 文件中定义它们并在 Wagtail 中访问它们来实现。以下是如何在 Wagtail 中自定义设置并从代码段访问它们的步骤:

步骤 1: 在 Django 的 settings.py 中定义自定义设置

首先,在 Django 项目的 settings.py 文件中定义你的自定义设置。例如:

代码语言:javascript
复制
# settings.py

# 自定义设置
MY_CUSTOM_SETTING = 'some_value'

步骤 2: 创建一个自定义设置模型(可选)

如果你需要更复杂的设置管理,可以创建一个 Django 模型来存储这些设置。例如:

代码语言:javascript
复制
# myapp/models.py

from django.db import models
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.core.models import Page

class MyCustomSettings(Page):
    my_custom_setting = models.CharField(max_length=255, default='default_value')

    content_panels = Page.content_panels + [
        FieldPanel('my_custom_setting'),
    ]

    class Meta:
        verbose_name = "My Custom Settings"

然后运行迁移来创建数据库表:

代码语言:javascript
复制
python manage.py makemigrations
python manage.py migrate

步骤 3: 在 Wagtail 中访问自定义设置

访问 settings.py 中的设置

你可以在 Wagtail 视图或其他 Python 代码中通过导入 Django 设置来访问这些设置:

代码语言:javascript
复制
# myapp/views.py

from django.conf import settings

def my_view(request):
    custom_setting_value = settings.MY_CUSTOM_SETTING
    # 使用 custom_setting_value

访问模型中的设置

如果你使用了自定义设置模型,可以通过查询数据库来访问这些设置:

代码语言:javascript
复制
# myapp/views.py

from .models import MyCustomSettings

def my_view(request):
    settings = MyCustomSettings.objects.first()
    custom_setting_value = settings.my_custom_setting if settings else 'default_value'
    # 使用 custom_setting_value

注意事项

  • 如果你在 settings.py 中定义了设置,确保在部署时不要将这些敏感信息提交到版本控制系统中。
  • 如果你使用模型来管理设置,确保只有一个实例存在,可以通过 Wagtail 的设置页面或者管理命令来创建和维护这个实例。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

美多商城项目(六)

5.1概念 对于经常被用户访问的页面,可以将页面用到的数据数据库中查询之后,利用查询到的数据生成一个静态页面,当用户来访问页面时,直接返回生成的静态页面,而不再去查询数据库,这样就能减少数据库的查询,...2.1数据库中获取模板文件所需的数据。 2.2调用模板文件进行模板渲染,给模板文件传递数据,将模板文件的变量进行替换,获取替换之后的html的内容。...'django_crontab', # 定时任务 ... ] 5.3.3设置任务的定时时间 在配置文件中设置定时执行的时间 每个定时任务分为三部分定义: 任务时间 基本格式 : * *...5.4.4代码实现 def generate_static_sku_detail_html(sku_id): """生成指定商品的静态详情页面""" # 1.数据库中查询详情页所需数据...进行一次初始化 import django django.setup() # 生成静态商品详情页面代码 ...

1.1K20

Django 2.1.7 视图 - 自定义404错误、500错误

上一篇Django 2.1.7 模型管理器 models.Manager 以及 元选项 讲述了关于Django模型管理类以及如何设置表名、字段名的元选项内容。...参考文献 https://docs.djangoproject.com/zh-hans/2.1/ref/views/ 首先看看开启了调试模式的Django错误页 任意访问一个不存在的url路径,Django...重启启动服务,访问刚才不存在的url路径,如下: 可以看到Django默认的404错误页了,显然不是很好看,那么我能不能自定义这个页面呢自定义404页面 自定义404页面当然是可以的,这个首先需要理解Django...而且使用内置的模板变量{{ request_path }}还可以设置查看这个访问的错误路径,如下: 页面访问如下: 那么其他500,503等错误页是不是也是一样的做法呢?当然是的。...自定义500页面 - 视图出错 当视图内的参数之类发生错误,访问则会提示如下: 下面也对这个500错误页面进行自定义,如下: 浏览器访问如下: 优化错误页面 上面的两个示例错误页面肯定是不好看的,当然要优化一下

2.1K20
  • Django 2.1.7 视图 - 自定义404错误、500错误

    上一篇Django 2.1.7 模型管理器 models.Manager 以及 元选项 讲述了关于Django模型管理类以及如何设置表名、字段名的元选项内容。...参考文献 https://docs.djangoproject.com/zh-hans/2.1/ref/views/ 首先看看开启了调试模式的Django错误页 任意访问一个不存在的url路径,Django...重启启动服务,访问刚才不存在的url路径,如下: 可以看到Django默认的404错误页了,显然不是很好看,那么我能不能自定义这个页面呢?...而且使用内置的模板变量{{ request_path }}还可以设置查看这个访问的错误路径,如下: 页面访问如下: 那么其他500,503等错误页是不是也是一样的做法呢?当然是的。...自定义500页面 - 视图出错 当视图内的参数之类发生错误,访问则会提示如下: 下面也对这个500错误页面进行自定义,如下: 浏览器访问如下: 优化错误页面 上面的两个示例错误页面肯定是不好看的,

    1K20

    使用Django获取Oracle系统状态数据并存放在redis中

    编写自定义命令获取指标并存入数据库 如何创建自定义命令请参考 http://www.zhaibibei.cn/oms/3.1/ 2.1 主体程序 这里我们用oracle_hit_sysstat_redis.py...00则会在2017-12-11-23:59保存一条相同数据 一些注意事项 由于我有9i的库,所以首先会判断是否为9i,是的话则不会获取DB Time的数据 关于保存的时间采用绝对时间,并且每天0点时间会保存...设置自动运行 这里我们设置每小时执行一次,并重定向所有日志至一个文件 这样我们可以通过检查该日志文件判断脚本是否正常运行 0 * * * * /usr/bin/python /home.../oms/mysite/manage.py oracle_hit_sysstat_redis>>/home/oms/mysite/crontab.log 2>&1 源代码位置 欢迎访问我的github...主页查看源码 https://github.com/bsbforever/oms_django 好了,这节介绍了如何利用自定义命令获取Oracle数据库的性能指标并保存在redis数据库中 下节介绍如何将这些数据展示在一个页面上

    83320

    Django 2.1.7 类视图

    相关篇章 Django 2.1.7 创建应用模板 Django 2.1.7 配置公共静态文件、公共模板路径 Django 2.1.7 模板语言 - 变量、标签、过滤器、自定义过滤器、模板注释 Django...2.1.7 模板 - 动态URL 反向解析 Django 2.1.7 模板 - 动态配置静态文件路径 参考文献 https://docs.djangoproject.com/zh-hans/2.1/...如果采用这种request.method的if判断方式,这样就会导致代码结构不清晰,可以怎么做呢? 下面来构建一下这个场景。...2)配置urls路径 from django.urls import path, re_path from . import views app_name = 'assetinfo' # 设置命名空间...可以结果来看到,导入from django.views.generic import View的类视图之后,就可以直接编写不同的方法来处理不同的业务。 查看View类视图源码 ?

    68820

    drf的接口文档生成与管理

    1、接口文档简述 2、Core API生成接口文档 2.1 安装Core API库 2.2 设置接口文档访问路径 2.3 文档描述说明的定义位置 2.4 访问查看 2.5 补充说明 3、Swagger...生成接口文档 3.1 Swagger介绍 3.2 安装django-rest-swagger库 3.3 配置app及swagger 3.4 配置相关路由 3.5 访问查看 3.6 说明 4、drf-yasg...安装Core API库 pip3 install coreapi pip3 freeze > requirements.txt 2.2 设置接口文档访问路径 在配置文件settings.py中配置接口文档......的实现 Swagger文件可在许多不同的平台上代码注释中自动生成 Swagger有一个强大的社区,里面有许多强悍的贡献者 要提到的是,作为一个工具人,常用的httpbin模拟请求工具也是基于swagger...3.6 说明 Django REST Swagger19年开始就已弃用不再维护了,作者在官方网站上说明了更推荐使用drf-yasg 可以阅读https://github.com/marcgibbons

    4.7K10

    Django权限设置及验证方式

    当创建一个Models, 在同步到数据库里,django默认设置了三个权限 ,就是 add, change, delete权限。...根据DJango官方文档解释,权限都是与models有关系的,此时.如果想设置一个view,对于有权限的用户进行放行,对于无权限的用户进行限制.那么我们就可以着手来写这个需求....具体步骤如下: 第一步: 设置跨域访问资源范围,如下: CORS_URLS_REGEX = r’^/(o|api/oauth/).*$’ #只允许跨域访问url为/o/….或者/api/oauth.../…的资源 第二步: 写一个设置permission脚本,或者你自己创建一个model,然后migrate得到django默认提供的三个权限,当然,这过于繁琐和单一,你也可以自定义permission...参考django文档:https://docs.djangoproject.com/en/2.1/topics/auth/default/#permissions 以上这篇Django权限设置及验证方式就是小编分享给大家的全部内容了

    1.5K10

    零基础使用Django2.0.1打造在线教育网站(九):初识后台管理

    我们现在再来打开eduline/urls.py文件,找到第19行代码: 看到没,admin竟然已经自动在url中进行了配置(整个项目就它一个配置了url,可见重要性不一般),所以你前面访问http...pip install django-formtools==2.1 # 记住一定是2.1的版本,否则会出错 使用的命令为:pip install package -i https://pypi.tuna.tsinghua.edu.cn...0.1.3 django-formtools 2.1 django-import-export 1.0.1 django-registration...,这是它的的官方网站: 你可以去看一下它的示例和文档,可能需要访问外国网站,不过这对你以后的运用确实帮助很大的。...因此,某种程度可以说它是不依赖于具体业务的,不管什么系统后台都是由表组成。 既然这样,我们可以在其余的各个表中,都加上这些个功能。

    1.2K30

    Nginx配置反向代理uwsgi

    = django_introduotion/wsgi.py 启动文件 module=django_introduotion.wsgi:application 启动文件 vacuum=true max-requests...:/etc/nginx/conf.d/project.conf 2.配置uwsgi 2.1 uwsgi配置 # uwsig使用配置文件启动 [uwsgi] # 项目目录 chdir=/root/project...harakiri=30 # 设置缓冲 post-buffering=4096 # 设置日志目录 daemonize=/root/script/uwsgi.log 2.2启动uwsgi 启动uwsgi...监听端口 server_name 47.100.118.99; #访问地址,这里比较坑,填什么就映射什么,如果你填localhost、127.0.0.1之类的,就意味着你只能在本机浏览器上访问...其实nginx官方文档(尽管它是英文版的)有很多配置方式和示例代码,完全不像百度搜到的博客那样繁琐。而且一遇到问题就百度,可能将问题越加复杂化 3.可能是每天没睡好变笨了

    1.6K50

    如何在Ubuntu 18.04上安装Django Web Framework

    虚拟环境允许您在项目目录中安装Django,而不会影响较大的系统,以及其他每个项目的自定义和包。这通常是使用Django最实用和最值得推荐的方法。...开发版本安装git:如果您希望安装最新的开发版本而不是稳定版本,您可以Git仓库获取代码。这是获取最新功能/修复所必需的,可以在您的虚拟环境中完成。...另请注意,由于您在本地安装,因此无需使用sudo: pip install django 您可以键入以下内容来验证安装: django-admin --version 2.1 请注意,您的版本可能与此处显示的版本不同...在Django设置中修改ALLOWED_HOSTS 要成功测试您的应用程序,您需要修改Django设置中的一个指令。...您创建的Django项目为设计更完整的站点提供了结构基础。查看Django文档,了解有关如何构建应用程序和自定义站点的更多信息。

    2.7K10

    使用pandas处理数据获取Oracle系统状态趋势并格式化为highcharts需要的格式

    Django获取数据库的系统状态信息并将其存入redis数据库 这节讲如何使用pandas处理数据获取Oracle系统状态趋势 1....从上面代码可以看出我们可以自定义的内容有: title:标题 subtitle:子标题 yAxis: Y轴内容 xAxis: X轴内容(图中为显示) series:具体的内容,是个列表,列表中的元素为字典...冒号左边代表时间,采用Unix时间戳的形式 冒号右边为DBTime的值 这里我们分2部分讲解 一个是以天为单位进行分组,计算每天的DBTime差值 一个是以小时为单位进行分组,计算一天中每小时之间的差值 2.1...之后对每一天的24小时进行索引重新设置及填充,这里填充的是平均值 group.set_index('time',inplace=True) s=group.reindex(new_index,fill_value...源代码位置 欢迎访问我的github主页查看源码 https://github.com/bsbforever/oms_django monitor/command/views_performance.py

    3.1K30

    django-auth_django-social-auth迁移到python-social-auth

    参考链接: Python | 扩展和自定义django-allauth django-auth  I recently ported an app with Google OAuth2 integration...最近,我将集成了Google OAuth2的应用程序django-social-auth移植到python-social-auth 。 这是我注意到的一些移植文档中未提及的内容。    ...the following line of code:     刷新访问令牌的旧方法是以下代码行:       useruser .. social_authsocial_auth .. getget...可以使用以下代码加载Django策略:      UserSocialAuth.tokens (UserSocialAuth.tokens)    In DSA, the tokens property...如果要扩展默认管道,则旧方法是DSA源代码中复制粘贴代码,然后向其中添加自定义管道条目。 在PSA中,您现在可以使用DEFAULT_AUTH_PIPELINE元组。

    78030

    Django Admin后台管理:高效开发与实践

    1.4 基本Admin界面操作 访问Admin界面:在浏览器中访问http://localhost:8000/admin/(假设默认端口)。...第2章:深入Django Admin 2.1 Admin界面定制 Django Admin提供了丰富的定制选项,允许开发者根据项目需求调整界面。...认证后端:Django允许定义多个认证后端,用于验证用户凭据。 权限和授权:Django的权限系统基于对象,允许为每个对象实例设置权限。...3.3 自定义用户模型 Django允许开发者自定义用户模型以满足特定需求。 替换默认用户模型:在settings.py中设置AUTH_USER_MODEL指向自定义用户模型。...3.4 高级权限控制 对象权限:Django允许为模型的每个实例设置权限,这可以通过编写自定义权限类来实现。

    16710

    Django的Hello World(一)

    学完Django已经过去一个多月了,但是开始学习到现在都是跟着视频敲代码,由于有提供完整的文档,所以很多时候是采用复制粘贴的方式进行的。 为了将知识内化,所以决定从今天开始新建一个Django项目。...django设置 这边是Django 的一些设置,Template是存放Django静态文件的地方,一些html,css,js 文件都会存放在templates文件夹中。...URL的概念 开始写web之前需要了解一下URL的概念 URL(Uniform Resoure Locator)统一资源定位符是对可以互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址...这样在网络中传输的时间就可以相应的减少,直观上可以看出,访问响应的速度会比较快。我们将它进行替换www.baidu.com这个域名。 ? 替换域名 看,还是正常的得到了百度的服务。...项目文件树状图 到这里,Django其实已经帮我们搭建好了一个网页了,我们要做的就是运行代码。 ? 运行代码 点击绿色的运行按键,就可以运行左侧的Zxapitest这个Django项目了。

    71930

    美多商城前三天重点内容大盘点

    美多商城前三天重点内容大盘点 文章导航 1.自定义Django认证系统用户模型类 2.跨域请求 3.celery异步任务发短信 4.JWT认证机制 5.自定义jwt扩展登录视图响应数据函数 6.自定义Django...Django的认证系统所识别,需要在配置文件中告知Django认证系统使用我们自定义的模型类。...协议相同;IP其实也是相同的,虽然我们设置的不一样,但是他们指向的ip都是127.0.0.1;但是端口号不一样,前端访问的是8080,后端设置的端口是8000。...2.1使用 安装 pip install django-cors-headers 添加应用 INSTALLED_APPS = (    ...    ...Django认证后端类(登录账户支持用户名和手机号) 1. obtain_jwt_token登录视图中没有自己实现账户名和密码校验的代码,而是调用了Django认证系统中一个函数进行账户和密码的校验。

    78520

    pycharm django环境搭建_IDEA如何创建项目

    最好进行筛选下Python版本,尽量选择较稳定的版本,我下载的是Python 3.6.5,因为项目中需要使用的一些包,可能不支持较高的版本 3 安装python 3.1 点开下载好的安装包,注意选择自定义安装...将Python 安装进合适的目录 3.3 其他步骤就按照个傻瓜式下一步进行安装,安装结束后,打开命令框,输入python,如果出现版本信息,则说明安装配置路径成功,如果不行,需要你手动进行路径设置...安装一些初始包(pip install 安装) pip install setuptools pip install pywin32 #这个包必须要安装,包装了几乎所有的Windows API,可以方便地Python...直接调用 pip install django==2.1 #选定了 Django的版本 不同的版本功能是不一样的 pip install pymysql #便于操作mysql数据库 5 开始创建...7 例子: 以一个Hello World 为例: urls.py中配置路径 终端输入 python manage.py runserver 浏览器访问: 这就可以了

    82420
    领券