A reusable Django app for QR Code generation
Project description
TagGenerator - Django QR Code Generator ๐ซ๐ฑ
TagGenerator is a sleek, reusable Django app for generating stylish, customizable QR codes on the fly. Easily integrate it into your web applications and give your project that extra visual flair!
๐ Table of Contents
- Overview
- Key Features
- Flow Diagram
- Project Structure
- Installation
- Usage
- Deployments
- Releases & Packages
- Contributing
- License
- Acknowledgements
๐ Overview
In todayโs fast-paced digital world, QR codes serve as an essential bridge between offline and online experiences. TagGenerator delivers a dynamic, stylish QR code generation solution for Django projects. With advanced styling options like rounded modules and radial gradients, you can create QR codes that are both functional and visually appealing.
โจ Key Features
- โก Dynamic Generation: Create QR codes in real time for any URL or text.
- ๐จ Advanced Styling: Customize QR codes with rounded modules, gradient colors, and more.
- ๐ Reusable Django App: Seamlessly plug into any Django project with minimal setup.
- ๐ Custom Template Tag: Easily render QR codes in templates using
{% qrcode_url %}. - ๐ณ Docker Ready: Simplify deployments with a pre-built Docker image.
- ๐ ๏ธ CI/CD Integration: Automated testing and releases with GitHub Actions.
๐ Flow Diagram
flowchart TD
A[๐ฅ Input: Text or URL] --> B[๐ง QR Code Generation]
B --> C[๐จ Apply Styling Options]
C --> D[๐ค Output: Styled QR Code Image]
D --> E[๐ฅ๏ธ Embed in Django Templates]
๐๏ธ Project Structure
TagGenerator/
โโโ .github/ # GitHub Actions workflows for CI/CD ๐
โโโ Dockerfile # Docker configuration for containerized deployment ๐ณ
โโโ QrCode/ # Reusable Django app for QR code generation
โ โโโ migrations/ # Database migrations
โ โโโ templates/ # Django templates (includes custom tag usage)
โ โโโ templatetags/ # Custom template tags (e.g., qrcode_tags.py) ๐ท๏ธ
โ โโโ urls.py # URL configuration for the QRCode app
โ โโโ views.py # Views to render QR codes
โโโ TagGenerator/ # Main Django project directory
โ โโโ settings.py # Project settings (including app configurations)
โ โโโ urls.py # Root URL configurations
โ โโโ wsgi.py # WSGI configuration for deployment
โโโ manage.py # Django project management script
โโโ requirements.txt # Python dependencies ๐ฆ
โโโ setup.py # Setup script for packaging and PyPI publishing
โโโ LICENSE # MIT License
โโโ README.md # Project documentation (this file) ๐
๐ป Installation
From PyPI
Install the package directly via pip:
pip install TagGenerator
Manual Setup
-
Clone the Repository:
git clone https://github.com/DadaNanjesha/tag-generator.git cd tag-generator
-
Set Up a Virtual Environment:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Install in Editable Mode (for development):
pip install -e .
๐ Usage
Integrate into Your Django Project
-
Add to Installed Apps:
In yoursettings.py:INSTALLED_APPS = [ # ... other apps "QrCode", ]
-
Include URL Configuration:
Update your project'surls.py:from django.urls import include, path urlpatterns = [ # ... other URL patterns path("qrcode/", include("QrCode.urls", namespace="qrcode")), ]
-
Embed QR Code in Templates:
Load the custom template tag and render a QR code:{% load qrcode_tags %} <img src="{% qrcode_url 'https://example.com' %}" alt="QR Code">
-
Demo:
Access the demo athttp://<your-domain>/qrcode/to see your QR code in action.
๐ณ Deployments
Docker Deployment
Use Docker for a consistent environment:
-
Build the Docker Image:
docker build -t dadananjesha/tag-generator .
-
Run the Docker Container:
docker run -d -p 8000:8000 dadananjesha/tag-generator
Visit http://localhost:8000/qrcode/ to view your app.
CI/CD
TagGenerator leverages GitHub Actions for continuous integration. Check out the workflows in the .github/workflows directory for more details.
๐ท๏ธ Releases & Packages
-
Releases:
The latest release is v1.0.2 (Mar 8, 2025). Each release includes detailed notes on fixes and new features. -
Packages:
TagGenerator is available on PyPI. We follow Semantic Versioning to ensure stability. -
Publishing Workflow:
To release a new version:- Tag the Release:
git tag vX.Y.Z git push --tags
- Build the Distribution:
python setup.py sdist bdist_wheel
- Upload with Twine:
twine upload dist/*
- Tag the Release:
๐ค Contributing
Contributions are welcome! Hereโs how you can help:
- Fork the Repository
- Create a Feature Branch:
git checkout -b feature/your-feature-name
- Commit Your Changes:
Write clear, descriptive commit messages. - Push and Submit a Pull Request:
Please open an issue first for major changes.
โญ๏ธ Support & Call-to-Action
If you find this project useful, please consider:
- Starring the repository โญ๏ธ
- Forking the project to contribute enhancements
- Following for updates on future improvements
Your engagement helps increase visibility and encourages further collaboration!
๐ License
This project is licensed under the MIT License.
๐ Acknowledgements
- Built With: Django, Python, and the qrcode library.
- Inspiration: Designed to provide an elegant and customizable QR code solution.
- CI/CD: Thanks to GitHub Actions for seamless integration and deployment.
Happy coding and may your QR codes always be stylish! ๐โจ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taggenerator-1.0.2.tar.gz.
File metadata
- Download URL: taggenerator-1.0.2.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19526e796f4fde52845a1e939a01a5434c9ec23a86bfabc03e5bcdf913847f94
|
|
| MD5 |
151ed78dd79a32e4be019538ec2ce204
|
|
| BLAKE2b-256 |
24039d693e8bdb3a2cc3221989823a767bc920d22e5741afe178b29962eef851
|
Provenance
The following attestation bundles were made for taggenerator-1.0.2.tar.gz:
Publisher:
python-publish.yml on DadaNanjesha/TagGenerator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taggenerator-1.0.2.tar.gz -
Subject digest:
19526e796f4fde52845a1e939a01a5434c9ec23a86bfabc03e5bcdf913847f94 - Sigstore transparency entry: 181935130
- Sigstore integration time:
-
Permalink:
DadaNanjesha/TagGenerator@f3ea722a71cbcdfc863896e1e025c2675be912be -
Branch / Tag:
refs/tags/1.06 - Owner: https://github.com/DadaNanjesha
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f3ea722a71cbcdfc863896e1e025c2675be912be -
Trigger Event:
release
-
Statement type:
File details
Details for the file taggenerator-1.0.2-py3-none-any.whl.
File metadata
- Download URL: taggenerator-1.0.2-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d579b9f5b56f1ee454a30a3c8e15ac59ba48c72d95a0c004ff39076e1ae3093a
|
|
| MD5 |
ecb1d072bf8b06dd335ccdb8c4d7ce5e
|
|
| BLAKE2b-256 |
7447e0f95e015a18a2cce5a817e580f065c0cd221a297be481ba22359bcd735d
|
Provenance
The following attestation bundles were made for taggenerator-1.0.2-py3-none-any.whl:
Publisher:
python-publish.yml on DadaNanjesha/TagGenerator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taggenerator-1.0.2-py3-none-any.whl -
Subject digest:
d579b9f5b56f1ee454a30a3c8e15ac59ba48c72d95a0c004ff39076e1ae3093a - Sigstore transparency entry: 181935142
- Sigstore integration time:
-
Permalink:
DadaNanjesha/TagGenerator@f3ea722a71cbcdfc863896e1e025c2675be912be -
Branch / Tag:
refs/tags/1.06 - Owner: https://github.com/DadaNanjesha
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f3ea722a71cbcdfc863896e1e025c2675be912be -
Trigger Event:
release
-
Statement type: