This makes it easy to manage multiple views with dynamic routing.
Project description
This makes it easy to manage multiple views with dynamic routing.
This is an utility class based on repath library which allows matching ExpressJS-like routes and parsing their parameters, for example /account/:account_id/orders/:order_id
.
Differences from flet-route
- Flet-Route-Static is made to work with Flet Static Websites. The standard Flet-Route Package does not support this at the moment.
- Changes:
- Removed
repath
dependency. - Removed
flet
dependency (Static websites installflet-pyodide
by itself) - Removed
CLI
commands (Does not need to be available in static websites)
- Removed
How To Use:
- Add
flet-easy-static
to your projectrequirements.txt
- How To Import Package:
# Method 1: Importing the package as fs in your project
import flet_route_static as fs
# Method 2: Check if the platform is emscripten and import the package accordingly
# This method is useful if you want to run the same code on both the desktop and the web and you don't have to install flet_route_static package on your desktop
if sys.platform == "emscripten": # Check if in Pyodide environment
import flet_route_static as fs
else:
import flet_route as fs
- Now you can safely run
flet publish
on your static website application
This pacakge is just a small modification of the original Flet-Route
package and all the credit goes to the original author Saurabh
How to make --route-url-strategy path
work in flet-route-static:
- Since a static webpage with flet is a singe page application, the
--route-url-strategy path
does not work as expected when hosted (Not when running main.py)-
For Apache:
- Check if
Include conf/extra/httpd-vhosts.conf
is uncommented inhttpd.conf
- Check if
LoadModule rewrite_module modules/mod_rewrite.so
is uncommented inhttpd.conf
- Modify
httpd-vhosts.conf
to look like this:<VirtualHost *:80> ServerAdmin webmaster@yourdomain.com DocumentRoot "C:/xampp/htdocs" ServerName localhost <Directory "C:/xampp/htdocs/"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted RewriteEngine On RewriteBase / # Exclude phpmyadmin and acustom from rewrite rules RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC,OR] RewriteCond %{REQUEST_URI} ^/!custom [NC] RewriteRule ^ - [L] # If a file or directory exists, serve it directly RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # Otherwise, rewrite all other requests to index.html RewriteRule ^ /index.html [L] </Directory> # Configuration for phpMyAdmin Alias /phpmyadmin "C:/xampp/phpMyAdmin" <Directory "C:/xampp/phpMyAdmin"> Options Indexes FollowSymLinks AllowOverride All <RequireAny> # Localhost Require ip 127.0.0.1 # IPv6 Localhost Require ip ::1 # Specific IP Require ip 192.168.10.161 </RequireAny> </Directory> # Configuration for acustom directory Alias /!custom "C:/xampp/htdocs/!custom" <Directory "C:/xampp/htdocs/!custom"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost> # Configuration for phpMyAdmin Alias /phpmyadmin "C:/xampp/phpMyAdmin" <Directory "C:/xampp/phpMyAdmin"> Options Indexes FollowSymLinks AllowOverride All <RequireAny> # Localhost Require ip 127.0.0.1 # IPv6 Localhost Require ip ::1 # Specific IP Require ip 192.168.10.161 </RequireAny> </Directory> # Configuration for acustom directory Alias /!custom "C:/xampp/htdocs/!custom" <Directory "C:/xampp/htdocs/!custom"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost>
- This
httpd-vhosts.conf
file is for XAMPP. Modify it according to your server configuration !custom
is a directory inhtdocs
which is not affected by the rewrite ruleshtdocs
is the same directory where theindex.html
is located. In linux systems the directory is/var/www/html
normally
phpmyadmin
is also not affected by the rewrite rules- Everything else is redirected to
index.html
so that the SPA can handle the routing (Fixes sowebsite.com/route
works as expected)
- Check if
-
For Nginx:
- Work In Progress
-
Installation
pip install flet-route-static
Upgradation
pip install flet-route-static --upgrade
📖 Read the documentation
Original Author:
Name : Saurabh Wadekar
Email : saurabhwadekar420@gmail.com
County : 🇮🇳INDIA🇮🇳
Changes made by:
- SmokyAce
- Discrd: smokyace
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
File details
Details for the file flet_route_static-0.0.2.tar.gz
.
File metadata
- Download URL: flet_route_static-0.0.2.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceef32abbac3cfbf24c63d8efd8a5b086607573e068406a0ee48bea48d316297 |
|
MD5 | 53f626616114a2cca079331bcd183d1f |
|
BLAKE2b-256 | c5ce0f8cb393e5a328433bd4debe43960b59bdc6dc8122d81e71b824c3130767 |
File details
Details for the file flet_route_static-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: flet_route_static-0.0.2-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c1f64f6e120dd418359e16847568cc68a76d10be3ee20cc5557ecd598e58173 |
|
MD5 | 6658fbe2987c314838169cd84b859bc7 |
|
BLAKE2b-256 | 02f1d43bfd89c507085681d2365c6baa6a574c5e250769f3d1137f2decaa8d8c |