Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gianlucaiavicoli/django-venv
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.
https://github.com/gianlucaiavicoli/django-venv
cassandra django django-docker django-environment django-mysql django-setup docker mysql postgresql scylla
Last synced: 28 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/gianlucaiavicoli/django-venv
- Owner: GianlucaIavicoli
- License: apache-2.0
- Created: 2023-09-11T02:49:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-15T19:07:22.000Z (about 1 year ago)
- Last Synced: 2024-10-11T10:02:25.365Z (28 days ago)
- Topics: cassandra, django, django-docker, django-environment, django-mysql, django-setup, docker, mysql, postgresql, scylla
- Language: Python
- Homepage:
- Size: 77.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Django Venv
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.
## Table of Contents
About The Project
Getting Started
- Upcoming Features
- Code of Conduct
- Contributing
- License
- Acknowledgments
## Features
Django-Venv provides the following features:1. **Virtual Environment Setup**: Automatically creates a virtual environment and installs project dependencies.
2. **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.
3. **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.
4. **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.
## Built With
![LINUX](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)
![Shell Script](https://img.shields.io/badge/shell_script-%23121011.svg?style=for-the-badge&logo=gnu-bash&logoColor=white)
![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge&logo=django&logoColor=white)
![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)
![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge&logo=mysql&logoColor=white)
![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)## Getting Started
### Prerequisites
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](https://docs.docker.com/get-docker/).
Once you have these dependencies in place, you can proceed with the installation and usage of Django-Venv.
### Installation
To get started, follow these steps:1. Create a python venv:
```bash
python -m venv
```2. Activate the venv:
```bash
source /bin/activate
```3. Install the package:
```bash
pip install django-venv
```### Usage
Run the script to set up your Django project:```bash
django-venv
```### Command-Line Options
```bash
django-venv [OPTIONS]Options:
-h, --help Display this help message
-d, --database Specify the database type (required)
Choose between 'mysql' or 'postgre'
--smtp Configure SMTP settings in settings.py
--htmx Configure HTMX settings in settings.py
```### Usage Example
```bash
django-venv -d mysql --htmx --smtp
```
This will generate [settings.py](./example.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.## Upcoming Features
1. **Cassandra Support with Docker**: Integrate support for Cassandra databases with Docker.
2. **Scylla Support with Docker**: Extend our Docker support to include Scylla, a highly available NoSQL database compatible with Apache Cassandra.## Code of Conduct
Please review our [Code of Conduct](./CODE_OF_CONDUCT.md) before contributing to Django-Venv.
## Contributing
We welcome contributions from the community! Please see our [Contributing Guidelines](./CONTRIBUTING.md) for more information.
## License
Distributed under the Apache-2.0 license. See LICENSE for more information.## Acknowledgments
* [Yapf Python formatter](https://github.com/google/yapf)
* [ast-comments](https://github.com/t3rn0/ast-comments)