{"id":16347900,"url":"https://github.com/victoriadrake/django-starter","last_synced_at":"2025-10-26T02:30:21.766Z","repository":{"id":82779210,"uuid":"399627277","full_name":"victoriadrake/django-starter","owner":"victoriadrake","description":"Django best practices and developer tools in a starter repository for your next project. Clone and start building.","archived":false,"fork":false,"pushed_at":"2024-01-13T12:34:04.000Z","size":72,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T13:11:41.730Z","etag":null,"topics":["django","django-application","django-project","pipenv","postgresql","pre-commit","starter","starter-kit","starter-project","web-application","webapp"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/victoriadrake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-08-24T23:06:08.000Z","updated_at":"2024-01-11T19:28:06.000Z","dependencies_parsed_at":"2024-01-13T14:17:38.026Z","dependency_job_id":"0c52c56a-940d-4e24-8042-dc7c81f85476","html_url":"https://github.com/victoriadrake/django-starter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victoriadrake%2Fdjango-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victoriadrake%2Fdjango-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victoriadrake%2Fdjango-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victoriadrake%2Fdjango-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/victoriadrake","download_url":"https://codeload.github.com/victoriadrake/django-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238241450,"owners_count":19439768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-application","django-project","pipenv","postgresql","pre-commit","starter","starter-kit","starter-project","web-application","webapp"],"created_at":"2024-10-11T00:46:54.764Z","updated_at":"2025-10-26T02:30:21.456Z","avatar_url":"https://github.com/victoriadrake.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Django Starter\n\n\u003cimg src=\"./app/static/app/img/logo.png\" width=\"150px\" align=\"right\"/\u003e\n\nGo from a new environment to starting a Django project before your coffee cools!\n\nI put all my Django best practices into this starter repository so you can start building right away.\n\nThis will help you:\n\n- Run tests and [Django Security Check](https://github.com/victoriadrake/django-security-check) via GitHub Actions\n- Work faster with a [self-documenting Makefile](https://victoria.dev/blog/how-to-create-a-self-documenting-makefile/) tailored to Django\n- Format files before committing with [pre-commit](.pre-commit-config.yaml)\n- Get Python 3.9, Pip, Pipenv, and Django installed in a new environment\n- Work with a .gitignore tailored to Python and Django development\n- Set up and link a Docker Postgres database\n\n## Usage\n\n### 1. Clone this repository\n\n```sh\ngit clone https://github.com/victoriadrake/django-starter\n```\n\n### 2. Set your environment variables\n\n```sh\n./env-setup.sh\n```\n\n(It's always a good idea to read scripts before running them! If you don't, well, thanks for the Bitcoin.)\n\n### 3. Install dependencies\n\nDo `make install` to install dependencies in a virtual environment.\n\nIf you'd like help installing just Django via Pipenv, run `./django-setup.sh`.\n\n### 4. Profit!!!\n\nYou can now do `make dev` to see a pretty welcome page at `http://localhost:8000/` and test that everything's working properly.\n\nStart building! If you're new to Django, check out their [great tutorials](https://docs.djangoproject.com/en/3.2/intro/).\n\nRun `make help` to see what else I've got set up for you.\n\n## What and why\n\nOver the years I've been developing with Django, I've built up a suite of developer tools, practices that help make programmers more efficient, and lots of little tips and ideas that make building with Django easier.\n\nI've [written about a lot of these](https://victoria.dev/tags/django/), and wanted to make it easier for you to use them too!\n\n### Automation\n\nYou can take advantage of automation to relieve developers of having to remember to run linting, tests, and other routine actions. The use of pre-commit and flows like GitHub Actions can help to keep your codebase consistent, tested, and easier to develop.\n\n- This [pre-commit configuration](.pre-commit-config.yaml) helps to format code and documentation, and even check for accidentally committed credentials!\n- I've included GitHub Actions for [running your test suite](.github/workflows/ci.yml) and [Django Security Check](.github/workflows/django-security-check.yml) on pull requests.\n\n### Settings and environments\n\nInstead of the default `settings.py`, I use a settings directory with separate files for local and production environment settings. This helps avoid misconfiguration mishaps!\n\nYou can pass the settings file as an argument, for example when running the development server:\n\n```sh\npython manage.py runserver --settings=app.settings.local\n```\n\nThe Makefile command `make dev` uses this. Speaking of...\n\n### A super helpful Makefile\n\nImagine having a super helpful, project-specific CLI that neatly remembers all your typical development actions for you. For example, instead of typing...\n\n```sh\npipenv run coverage run python manage.py test app --verbosity=0 --parallel --failfast\n```\n\nYou can just do:\n\n```sh\nmake test\n```\n\nIsn't that better? I think so! Check out the [self-documenting Makefile](Makefile) to see how it makes other everyday actions easier. (Why's it self-documenting? Just type `make help` and see.)\n\n## Contributing\n\nHave something to add? Feel free to open a pull request!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictoriadrake%2Fdjango-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictoriadrake%2Fdjango-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictoriadrake%2Fdjango-starter/lists"}