{"id":15187555,"url":"https://github.com/gianlucaiavicoli/django-venv","last_synced_at":"2025-04-27T12:31:34.958Z","repository":{"id":194060148,"uuid":"689842892","full_name":"GianlucaIavicoli/Django-Venv","owner":"GianlucaIavicoli","description":"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.","archived":false,"fork":false,"pushed_at":"2023-09-15T19:07:22.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-11T08:07:58.327Z","etag":null,"topics":["cassandra","django","django-docker","django-environment","django-mysql","django-setup","docker","mysql","postgresql","scylla"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GianlucaIavicoli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2023-09-11T02:49:34.000Z","updated_at":"2023-09-15T19:05:31.000Z","dependencies_parsed_at":"2023-09-15T18:05:50.823Z","dependency_job_id":null,"html_url":"https://github.com/GianlucaIavicoli/Django-Venv","commit_stats":null,"previous_names":["gianlucaiavicoli/django-setup","gianlucaiavicoli/django-venv"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaIavicoli%2FDjango-Venv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaIavicoli%2FDjango-Venv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaIavicoli%2FDjango-Venv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GianlucaIavicoli%2FDjango-Venv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GianlucaIavicoli","download_url":"https://codeload.github.com/GianlucaIavicoli/Django-Venv/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224069460,"owners_count":17250456,"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":["cassandra","django","django-docker","django-environment","django-mysql","django-setup","docker","mysql","postgresql","scylla"],"created_at":"2024-09-27T18:23:58.676Z","updated_at":"2024-11-11T08:08:02.295Z","avatar_url":"https://github.com/GianlucaIavicoli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Django Venv\n\nThis 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.\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n## Table of Contents\n\n\u003col\u003e\n  \u003cli\u003e\n    \u003ca href=\"#django-venv\"\u003eAbout The Project\u003c/a\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#command-line-options\"\u003eCommand-Line Options\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#usage-example\"\u003eUsage Example\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#upcoming-features\"\u003eUpcoming Features\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#code-of-conduct\"\u003eCode of Conduct\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\n\n## Features\nDjango-Venv provides the following features:\n\n1. **Virtual Environment Setup**: Automatically creates a virtual environment and installs project dependencies.\n\n2. **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.\n\n3. **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.\n\n4. **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.\n\n## Built With\n\n![LINUX](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black)\n![Shell Script](https://img.shields.io/badge/shell_script-%23121011.svg?style=for-the-badge\u0026logo=gnu-bash\u0026logoColor=white)\n![Django](https://img.shields.io/badge/django-%23092E20.svg?style=for-the-badge\u0026logo=django\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=white)\n![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n\u003c!--![ApacheCassandra](https://img.shields.io/badge/cassandra-%231287B1.svg?style=for-the-badge\u0026logo=apache-cassandra\u0026logoColor=white)--\u003e\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## Getting Started \n\n### Prerequisites\n\nBefore you begin, please ensure that you have the following dependencies installed on your system:\n\n- **Linux Operating System**: Django-Venv is designed to work on Linux-based systems.\n\n- **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/).\n\nOnce you have these dependencies in place, you can proceed with the installation and usage of Django-Venv.\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Installation\nTo get started, follow these steps:\n\n1. Create a python venv:\n\n   ```bash\n    python -m venv \u003cvenv_name\u003e\n   ```\n\n2. Activate the venv:\n\n   ```bash\n    source \u003cvenv_name\u003e/bin/activate\n   ```\n\n3. Install the package:\n\n   ```bash\n   pip install django-venv\n   ```\n\n### Usage\nRun the script to set up your Django project:\n\n   ```bash\n   django-venv \u003cproject_name\u003e\n   ```\n\n### Command-Line Options\n```bash\ndjango-venv \u003cproject_name\u003e [OPTIONS]\n\nOptions:\n    -h, --help                       Display this help message\n    -d, --database \u003cdatabase_type\u003e   Specify the database type (required)\n                                     Choose between 'mysql' or 'postgre'\n    --smtp                           Configure SMTP settings in settings.py\n    --htmx                           Configure HTMX settings in settings.py\n```\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Usage Example\n   ```bash\n   django-venv \u003cproject_name\u003e -d mysql --htmx --smtp\n   ```\n  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.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Upcoming Features\n\n1. **Cassandra Support with Docker**: Integrate support for Cassandra databases with Docker.\n2. **Scylla Support with Docker**: Extend our Docker support to include Scylla, a highly available NoSQL database compatible with Apache Cassandra. \n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Code of Conduct\n\nPlease review our [Code of Conduct](./CODE_OF_CONDUCT.md) before contributing to Django-Venv.\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contributing\n\nWe welcome contributions from the community! Please see our [Contributing Guidelines](./CONTRIBUTING.md) for more information.\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## License\nDistributed under the Apache-2.0 license. See LICENSE for more information.\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Acknowledgments\n\n* [Yapf Python formatter](https://github.com/google/yapf)\n* [ast-comments](https://github.com/t3rn0/ast-comments)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#django-venv\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgianlucaiavicoli%2Fdjango-venv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgianlucaiavicoli%2Fdjango-venv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgianlucaiavicoli%2Fdjango-venv/lists"}