{% extends "baseTemplate/index.html" %}
{% load static %}
{% comment %}
/plugins/settings/ — the plugin's opaque settings blob.
The panel checks that this is a JSON object under a size ceiling and stores it.
It does not interpret the contents: those belong to the plugin, which validates
them itself. The editor is a textarea, not a generated form, because the panel
has no schema for a third-party plugin's settings and inventing one would just
be a lie about what is enforced.
{% endcomment %}
{% block title %}{% if missing %}Plugin not found{% else %}{{ plugin.name }} settings{% endif %}{% endblock %}
{% block styles %}
{% include "pluginHolder/_styles.html" %}
{% endblock %}
{% block content %}
{% if missing %}
It checks the value is a JSON object and under {{ maxSettingsKB }} KB. Nothing else.
It stores it as plain JSON in the panel database.
Do not put credentials here — the column is not encrypted, and
anyone with database access or a panel backup can read it.
The plugin reads it on its next hook call through
Plugin.objects.get(slug=…).settings; no restart
is needed and nothing is reloaded.
Keys and their meanings are the plugin author's to document. The panel has no
schema for them.