A library for building web applications
Project description
Glass is a mini WSGI routing library for building web applications. It comes with bultin template engine. It is micro-framework because it comes with limited tools for web development. But it is extensible.
Glass comes with builtin development server.
Installation
Install from pypi;
$ pip istall glass-web
or upgrade to latest release ;
$ pi install --upgrade glass-web
or clone from github;
$ git clone https://github.com/horlarwumhe/glass.git
$ cd glass
$ pip install -r requirements.txt
$ python setup.py install
Example
from glass import GlassApp
app = GlassApp()
@app.route('/')
def home():
return 'Hello, welcome.'
@app.route('/greet/<name>')
def greet(name):
return 'Hello {}'.format(name)
app.run()
#app.run(host='127.0.0.1',port=8000,debug=True,auto_reload=True)
Using Template
Glass template syntax is very similar to django template.
# index.html
<html>
<title> {% block title %} Blog {% endblock %}</title>
<body>
{% block content %}
{% for post in posts %}
<h3> {{post.title}} </h3>
Author: <b> {{post.author}}
<a href='{{post.url}}'> read more </a>
{% endfor %}
{% endblock %}
</body>
from glass import GlassApp
from glass import render_template,render_string
from glass import request,redirect
app = GlassApp()
@app.route('/')
def home():
posts = get_all_posts()
return render_template('index.html',posts=posts)
@app.route('/greet/<name>')
def greet(name):
template = '''
Hello {{name}}, welcome to {{request.host}}
'''
return render_string(template,name=name)
@app.route('/login',methods=["GET",'POST'])
def login():
if request.method == 'POST':
name = request.post.get('username')
password = request.post.get('password')
do_login(name,password)
return redirect('/')
else:
return render_template('login.html')
app.run()
Documentation
Documentation is available on glass site. It is also available on readthedocs.
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
glass-web-0.0.7.tar.gz
(37.0 kB
view details)
Built Distribution
glass_web-0.0.7-py3-none-any.whl
(41.0 kB
view details)
File details
Details for the file glass-web-0.0.7.tar.gz
.
File metadata
- Download URL: glass-web-0.0.7.tar.gz
- Upload date:
- Size: 37.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ccbb99da80fccdc2cfc39a9fe0cf9523a99c1aeb4dc137dee0343bf8a2f1711 |
|
MD5 | b73c7269e722388f096c2eb724d0336b |
|
BLAKE2b-256 | a023eadac5e74e4583d989703f38a6c83fb1d63c98ea4977f4ca412fb1c0a8dd |
File details
Details for the file glass_web-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: glass_web-0.0.7-py3-none-any.whl
- Upload date:
- Size: 41.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66fb5e9f538e498dd8397d92846796002f32bd36b113d43eb7ac7c1d2bc756ab |
|
MD5 | bd37cf639161fe89ddf971a23172df98 |
|
BLAKE2b-256 | 886246c06a63240ab18e8b79898b17e6cb62ed60d6e589f8d0654e7b1e0ddad1 |