Quickly build a professional web app using Django.
Project description
Forge
Quickly build a professional web app using Django.
Forge is a set of opinions. It guides how you work, chooses what tools you use, and makes decisions so you don't have to.
At it's core, Forge is Django. But we've taken a number of steps to make it even easier to build and deploy a production-ready app on day one.
If you're an experienced Django user, you'll understand and (hopefully) agree with some of Forge's opinions. If you're new to Django or building web applications, we've simply removed questions that you might not even be aware of.
Forge will get you from zero to one on a revenue-generating SaaS, internal business application, or hobby project.
Quickstart
Start a new project in 5 minutes:
curl -sSL https://djangoforge.dev/quickstart.py | python3 - my-project
What's included
Things that come with Forge, that you won't get from Django itself:
- Configure settings with environment variables
- A much simpler
settings.py
- Extraneous files (
manage.py
,wsgi.py
,asgi.py
) have been removed unless you need to customize them - Start with a custom user model (
users.User
) - Start with a "team" model (
teams.Team
) - Send emails using Django templates (ex.
templates/email/welcome.html
) - A starter
forge_base.html
- Default form rendering with Tailwind classes
- Login in with email address (in addition to usernames)
- Abstract models for common uses (UUIDs, created_at, updated_at, etc.)
- Test using pytest and pytest-django
- Static files served with WhiteNoise
We're also able to make some decisions about what tools you use with Django -- things that Django (rightfully) doesn't take a stance on:
- Deploy using Heroku
- Manage Python dependencies using Poetry
- Style using Tailwind CSS
- Format your code using black and isort
Lastly, we bring it all together with a forge
CLI:
Local development
forge work
- your local development command (runsrunserver
, Postgres, and Tailwind at the same time)forge test
- run tests using pytestforge format
- format app code with black and isortforge pre-commit
- checks tests and formatting before commits (installed as a git hook automatically)forge django
- passes commands to Django manage.py (i.e.forge django makemigrations
)
Deployment
forge pre-deploy
- runs Django system checks before deployment startsforge serve
- a production gunicorn process
Misc.
forge init
- used by the quickstart to create a new project, but can be used by itself too
Inspired by
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 forge-0.7.0.tar.gz
.
File metadata
- Download URL: forge-0.7.0.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1211653d482861e10ff21e4a61b568ee9d0dab6688a31903860f7bd013a3f93e |
|
MD5 | da8ca0b037732457ed71e1a6f2fdfe80 |
|
BLAKE2b-256 | fdb9315181f062bc14d205d1d55dcd809d0ef0eb9ebee1e3d53d7ec42a92d4a2 |
File details
Details for the file forge-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: forge-0.7.0-py3-none-any.whl
- Upload date:
- Size: 36.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.13.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d9081c5052cff4ef75e3b65947598eee2a5e3159a269218350aacb48308be3d |
|
MD5 | 81b8ed024a558620fd5f5e2e56b1608a |
|
BLAKE2b-256 | a2723b2cf9a477e643265d6146d8f3f6efce8df8227b218dfda68101845e0c69 |