Datasette plugin providing a UI for writing to a database
Project description
datasette-write
Datasette plugin providing a UI for writing to a database
Installation
Install this plugin in the same environment as Datasette.
pip install datasette-write
Usage
Having installed the plugin, visit /db/-/write
on your Datasette instance to submit SQL queries that will be executed against a write connection to the specified database.
By default only the root
user can access the page - so you'll need to run Datasette with the --root
option and click on the link shown in the terminal to sign in and access the page.
The datasette-write
permission governs access. You can use permission plugins such as datasette-permissions-sql to grant additional access to the write interface.
Pass ?sql=...
in the query string to pre-populate the SQL editor with a query.
Parameterized queries
SQL queries can include parameters like this:
insert into news (title, body)
values (:title, :body_textarea)
These will be converted into form fields on the /db/-/write
page.
If a parameter name ends with _textarea
it will be rendered as a multi-line textarea instead of a text input.
If a parameter name ends with _hidden
it will be rendered as a hidden input.
Updating rows with SQL
On Datasette 1.0a13 and higher a row actions menu item will be added to the row page linking to a SQL query for updating that row, for users with the datasette-write
permission.
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-write
python3 -mvenv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for datasette_write-0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 810b55b65cc0383d406fa6cd14a0f642280700cacddf683505f58c14f1928849 |
|
MD5 | f043160c9261863ab89ee5777d47bdc0 |
|
BLAKE2b-256 | 3ad12dc625b79d8d21ae1066f0a5060a6ea84c1ef8073bc1dd4d03003962cdea |