This repository contains a set of Python and Bash scripts designed to simplify the process of setting up a development environment for Django projects. Whether you are a seasoned Django developer or just starting out, these scripts aim to streamline common tasks and make it easier to get your Django project up and running quickly.
- About The Project
- Getting Started
- Upcoming Features
- Code of Conduct
- Contributing
- License
- Acknowledgments
Django-Venv provides the following features:
-
Virtual Environment Setup: Automatically creates a virtual environment and installs project dependencies.
-
Django Project Initialization: Automates the creation of a Django project, along with additional directories and files such as static files, apps directory, and a base.html template.
-
Django Settings Configuration: Edits the
settings.py
file to include various settings, including database configuration (MySQL, PostgreSQL) with docker, htmx setup, SMTP configuration, and other common settings. -
Database Setup: Users have the option to either utilize their own server or have the script generate a Docker container for the specified database. When opting for MySQL or other compatible databases, the script will endeavor to create a Docker container with your chosen database, establish a user profile with the requisite permissions, set up a database, and store the credentials securely in an .env file.
Before you begin, please ensure that you have the following dependencies installed on your system:
-
Linux Operating System: Django-Venv is designed to work on Linux-based systems.
-
Docker: Django-Venv relies on Docker for certain functionality. Make sure you have Docker installed on your machine. You can find installation instructions for Docker on the Docker website.
Once you have these dependencies in place, you can proceed with the installation and usage of Django-Venv.
To get started, follow these steps:
-
Create a python venv:
python -m venv <venv_name>
-
Activate the venv:
source <venv_name>/bin/activate
-
Install the package:
pip install django-venv
Run the script to set up your Django project:
django-venv <project_name>
django-venv <project_name> [OPTIONS]
Options:
-h, --help Display this help message
-d, --database <database_type> Specify the database type (required)
Choose between 'mysql' or 'postgre'
--smtp Configure SMTP settings in settings.py
--htmx Configure HTMX settings in settings.py
django-venv <project_name> -d mysql --htmx --smtp
This will generate settings.py, an '.env' file with all the credentials, a locally running MySQL Docker container if the database is not specified, as well as all the static directories and application directories for the Django project.
- Cassandra Support with Docker: Integrate support for Cassandra databases with Docker.
- Scylla Support with Docker: Extend our Docker support to include Scylla, a highly available NoSQL database compatible with Apache Cassandra.
Please review our Code of Conduct before contributing to Django-Venv.
We welcome contributions from the community! Please see our Contributing Guidelines for more information.
Distributed under the Apache-2.0 license. See LICENSE for more information.