A python package to create flask project with svelte frontend.
Project description
Flask-Svelte Documentation
Welcome to Flask-Svelte, a python package that integrates Svelte with Flask. This integration brings together the best of both worlds: Svelte's reactive frontend capabilities and Flask's robust backend, providing a seamless experience for web application development.
Note: This package is still in development. The API is subject to change.
Key Features
- Svelte Integration with Flask: Effortlessly serve Svelte templates as dynamic components within Flask applications.
- Automatic Live Reloading: Implement livereload for instant browser updates when templates are modified.
- Simplified Project Management: Utilize the CLI for effortless project setup and template handling.
- Use Python data in Svelte: The
render_templatefunction extends Flask's capability, allowing direct data integration into Svelte templates for dynamic content rendering. - Tailwind CSS Preinstalled: Comes with Tailwind CSS, a utility-first CSS framework for rapid UI development, preconfigured and ready to use.
Getting Started
Installation and Project Setup
- Prerequisites: Install Node.js and Python.
- Install Flask-Svelte:
pip install flask-svelte
- Create a New Project:
flask-svelte create <project_name>
- Navigate to the Project Directory:
cd <project_name>
- Install JavaScript Dependencies:
npm install
Development Workflow
- Start Development Server:
npm run dev
- Add New Svelte Templates:
flask-svelte add-page <template_name>
Generates Svelte files insvelte/<template_name>. Edit them and see the changes in the browser. Note: Thenpm run devcommand must be restarted for new templates to be recognized.
Important Usage Notes
- Production Build: Use
npm run buildfor deployment readiness. Post-build, thesveltedirectory is optional. - Data Integration in Templates: Replace
flask.render_templatewithflask_svelte.render_templatefor enhanced data passing. Example:from flask_svelte import render_template from app import app @app.route('/') def index(): return render_template('index.html', name='World')
- Accessing Data in Svelte: Retrieve Flask-passed data in Svelte with
{{ app.data["key"] }}. Example:<h1>Hello {{ app.data["name"] }}!</h1>
Enhanced Documentation
render_template Function
- Purpose: Replaces Flask's
render_templatefor integrating Python and JavaScript. - Usage: Passes variables and data from Flask to Svelte components for interactive web applications.
app.data Object
- Functionality: Facilitates data transfer between Flask and Svelte.
- Access in Svelte: Retrieve Flask data in Svelte templates via
{{ app.data["key"] }}.
Command-Line Interface (CLI) Commands
-
Create a New Project:
flask-svelte create <project_name>Sets up a new Flask-Svelte project environment.
-
Add a New Template:
flask-svelte add-page <template_name>Adds a new Svelte template to your project, creating necessary files in
svelte/<template_name>.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flask_svelte-1.0.1.tar.gz.
File metadata
- Download URL: flask_svelte-1.0.1.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.5 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f27859aac0da05bf9f39d7860fd65a18b5ba338873d571d2110c323e2d6e43b4
|
|
| MD5 |
f52f3083ef451fb1fa888a8ba797e445
|
|
| BLAKE2b-256 |
4460d252cd79f9a35fb86465ea91d4ecd087e0b37303b61de132c4fb033f4a42
|
File details
Details for the file flask_svelte-1.0.1-py3-none-any.whl.
File metadata
- Download URL: flask_svelte-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.5 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85a3b42f36108e2a2939e0509aca3719d2d6999ce21e73fdbdfdecdf85c35f80
|
|
| MD5 |
4b1dfb8143f12a4798ae9fc5c1cddd07
|
|
| BLAKE2b-256 |
9d3527bdd19fd0620428376c1be07cd3cb83adb0821a3574508ba60fc4b44dd8
|