A Django REST Framework app template with dependency management and DevOps best practices.
Project description
drf-restwind
Overview
Welcome to drf-restwind, a modern re-imagining of the Django REST Framework. This project utilizes TailwindCSS and DaisyUI to provide flexible and customizable UI solutions with minimal coding effort.
Key Features
- Modern UI: Crafted with TailwindCSS and DaisyUI for an appealing and contemporary design.
- Diverse Themes: Offers a selection of visually appealing themes to choose from.
- Responsive Design: Adapts seamlessly to various screen sizes for optimal user experience.
- Accessibility: Built with accessibility as a priority.
- Code Highlighting: Integrates Highlight.js for enhanced code visibility.
- CI/CD Automation: Utilizes GitHub Actions for automated deployment and integration, ensuring reliability and consistency.
- Efficient Dependency Management: Employs Poetry for meticulous project dependency management.
- Consistent Code Formatting: Uses Black for automatic code formatting, enhancing code readability.
- Thorough Code Linting: Implements Ruff to proactively identify and resolve potential code issues, boosting code quality and maintainability.
- Comprehensive Testing: Leverages Django’s testing framework for effective test management.
- Essential Configuration Files: Includes necessary files such as
.gitignoreandpyproject.tomlfor streamlined project setup.
Quick Start Guide
To get started with drf-restwind, follow these steps:
-
Install the package:
pip install drf-restwind
-
Update
INSTALLED_APPS:Modify
project/settings.pyas follows:# Application definition INSTALLED_APPS = [ # Add rest_wind to INSTALLED_APPS "rest_wind", "rest_framework", ... ]
Customization Guides
To customize drf-restwind, follow these steps:
-
Add Required Templates:
In your app's templates directory, create a folder named
rest_frameworkand add a file calledapi.html:mkdir app/templates/rest_framework touch app/templates/rest_framework/api.html
-
Populate Your Template:
In
api.html, include the following line:{% extends 'rest_framework/base.html' %}
Now you can proceed with the following customization guides.
Changing the Theme
To modify the theme, update your api.html:
Sure! Here’s the continuation of the instructions for changing the theme and other customization options:
{% extends 'rest_framework/base.html' %}
{% block theme %}dracula{% endblock %}
<!-- The default theme is light. To use a dark theme, set the highlight_theme accordingly to support dark themes -->
{% block highlight_theme %}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/base16/dracula.min.css">
{% endblock %}
Customizing the Brand and Adding Links
To change the brand name and add custom links, modify your api.html:
{% extends 'rest_framework/base.html' %}
{% block title %}YOUR_BRAND{% endblock %}
{% block branding %}
<li class="tooltip tooltip-right tooltip-primary" data-tip="{% translate 'YOUR_BRAND' %}">
<a href="https://www.django-rest-framework.org/" class="btn btn-square btn-primary lg:btn-lg">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain-circuit lg:size-8">
<path d="M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z" />
<path d="M9 13a4.5 4.5 0 0 0 3-4" />
<path d="M6.003 5.125A3 3 0 0 0 6.401 6.5" />
<path d="M3.477 10.896a4 4 0 0 1 .585-.396" />
<path d="M6 18a4 4 0 0 1-1.967-.516" />
<path d="M12 13h4" />
<path d="M12 18h6a2 2 0 0 1 2 2v1" />
<path d="M12 8h8" />
<path d="M16 8V5a2 2 0 0 1 2-2" />
<circle cx="16" cy="13" r=".5" />
<circle cx="18" cy="3" r=".5" />
<circle cx="20" cy="21" r=".5" />
<circle cx="20" cy="8" r=".5" />
</svg>
<span class="sr-only">{% translate 'YOUR_BRAND' %}</span>
</a>
</li>
{% endblock %}
{% block userlinks %}
<li class="tooltip tooltip-right" data-tip="{% translate 'Home' %}">
<a href="https://github.com/youzarsiph" class="btn btn-square btn-ghost">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house size-5 lg:size-6">
<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8" />
<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
</svg>
<span class="sr-only">{% translate 'Home' %}</span>
</a>
</li>
{% endblock %}
Contributing
We encourage community contributions! Please check our CONTRIBUTING guide for detailed instructions on how to contribute effectively. Your input and support play an essential role in the ongoing enhancement of this project.
Support
If you have any questions or require assistance, feel free to open an issue or join our discussions in the GitHub Discussions section. We welcome community engagement and cherish your feedback!
Licensing
This project is licensed under the MIT License. You can find the full terms of the license in the LICENSE file.
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 drf_restwind-0.1.2.tar.gz.
File metadata
- Download URL: drf_restwind-0.1.2.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3522a67dbe4b95e52ff7e0c61315b7b909af25e8666d4b853ea54b8143a0ee34
|
|
| MD5 |
b3dbc9c22b97d0c68198e5bedcca578c
|
|
| BLAKE2b-256 |
c75ac190433686385486f25968a8ead6e843a4397ef60dbe6e7b868f3b2a728c
|
File details
Details for the file drf_restwind-0.1.2-py3-none-any.whl.
File metadata
- Download URL: drf_restwind-0.1.2-py3-none-any.whl
- Upload date:
- Size: 32.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
020676c389e8cb7d6902b3b5a3153eaffb24e33a9e0f2a4cb6543d5832e234d1
|
|
| MD5 |
53a9e3a36bfbeb48a21d8f3d4bf4a939
|
|
| BLAKE2b-256 |
920f44da3f07276c169ce11c168260af04e41e6444be7fd7623845795db23359
|