A library to make single-file Django apps easier
Project description
django-singlefile
This is a small library that makes it easier to write single-file Django applications in a similar way to how you'd write Flask applications.
It's still alpha, but hey, it works for small projects.
Example App
from django.http import HttpResponse
from django.singlefile import SingleFileApp
app = SingleFileApp()
@app.path("")
def index(request):
name = request.GET.get("name", "World")
return HttpResponse(f"Hello, {name}!")
if __name__ == "__main__":
app.main()
To run the app, you can just call it from the command line::
python app.py runserver
Or you can pass the app
object inside it to a WSGI server as normal!
If you'd like to see a more in-depth example app, take a look at the project I initially wrote this for: andrewgodwin/emf-equipment.
Supported Features
- Templates: Put them in a
templates/
directory. - Static Files: Put them in a
static/
directory. - Class-Based Views: Work fine; use
@app.path()
on the class itself. - Forms: Use them as normal.
Unsupported Features
If you want to use these, just go make a normal Django project; trying to fit them into a single file is a bad idea due to their innate complexity.
- Models/Migrations (maybe in future, if I can figure out how nicely)
- Admin
- Authentication
Desired Features
- Project Conversion: An easy way to take a single-file app like this and
expand it into a "full" Django project, like
startproject
would make.
Project details
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 django_singlefile-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc060620ca5352b23ab4eb3a001abf6e59d4253908651553c4bd1159100c9f8f |
|
MD5 | e5af91e429291b85ced7a88ed60e60a5 |
|
BLAKE2b-256 | 5bc8f4aed310fa69b57c9a97c36c3cd9288066a32863004360d7bd475ea0c9c7 |