Skip to content

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.

License

Notifications You must be signed in to change notification settings

GianlucaIavicoli/Django-Venv

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

  1. About The Project
  2. Getting Started
  3. Upcoming Features
  4. Code of Conduct
  5. Contributing
  6. License
  7. 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 Shell Script Django Docker MySQL Postgres

(back to top)

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.

Once you have these dependencies in place, you can proceed with the installation and usage of Django-Venv.

(back to top)

Installation

To get started, follow these steps:

  1. Create a python venv:

     python -m venv <venv_name>
  2. Activate the venv:

     source <venv_name>/bin/activate
  3. Install the package:

    pip install django-venv

Usage

Run the script to set up your Django project:

django-venv <project_name>

Command-Line Options

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

(back to top)

Usage Example

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.

(back to top)

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.

(back to top)

Code of Conduct

Please review our Code of Conduct before contributing to Django-Venv.

(back to top)

Contributing

We welcome contributions from the community! Please see our Contributing Guidelines for more information.

(back to top)

License

Distributed under the Apache-2.0 license. See LICENSE for more information.

(back to top)

Acknowledgments

(back to top)

About

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.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks