Skip to content

Commit 506c664

Browse files
committed
Release v1.0.21
1 parent 4e8e676 commit 506c664

File tree

9 files changed

+149
-24
lines changed

9 files changed

+149
-24
lines changed

.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
DEBUG=True
2+
3+
SECRET_KEY=<STRONG_KEY_HERE>

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env
1010
/staticfiles/
1111

1212
#src
13-
*.sqlite*
13+
#*.sqlite*
1414

15-
.env
16-
yarn.lock
15+
#.env
16+
node_modules

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Change Log
22

3+
## [1.0.21] 2024-03-04
4+
### Changes
5+
6+
- Deprecate `distutils`
7+
- use `str2bool`
8+
- Update Deps
9+
- `requirements.txt`
10+
- Update README: [PRO Version](https://appseed.us/product/argon-dashboard2-pro/django/), List features
11+
- `API`, **Charts**
12+
- **DataTables** (Filters, Export)
13+
- **Celery**
14+
- **Media Files Manager**
15+
- **Extended User Profiles**
16+
317
## [1.0.20] 2023-02-14
418
### Changes
519

README.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,21 @@ Designed for those who like bold elements and beautiful websites. Made of hundre
1212

1313
> `Have questions?` Contact **[Support](https://appseed.us/support/)** (Email & Discord) provided by **AppSeed**
1414
15-
| Free Version | [PRO Version](https://appseed.us/product/soft-ui-dashboard-pro/django/) | [Custom Development](https://appseed.us/custom-development/) |
15+
| Free Version | [PRO Version](https://appseed.us/product/soft-ui-dashboard-pro/django/) | [Custom Development](https://appseed.us/custom-development/) |
1616
| --------------------------------------| --------------------------------------| --------------------------------------|
17-
|**Django 4.1.12** | **Everything in Free**, plus: | **Everything in PRO**, plus: |
18-
| ✓ Best Practices |**Premium Bootstrap Design** |**1mo Custom Development** |
19-
|`Bootstrap 5`, Soft Dashboard UI |`OAuth` Google, GitHub |**Team**: PM, Developer, Tester |
20-
|`Docker` |`Extended User Model` | ✅ Weekly Sprints |
21-
|`CI/CD` Flow via Render |`Private REPO Access` | ✅ Technical SPECS |
22-
|`Free Support` |**PRO Support** - [Email & Discord](https://appseed.us/support/) | ✅ Documentation |
23-
| - | ✅ Deployment Assistance |**30 days Delivery Warranty** |
24-
| ------------------------------------ | ------------------------------------ | ------------------------------------|
25-
|[LIVE Demo](https://django-soft-dash.onrender.com/) | 🚀 [LIVE Demo](https://django-soft-dash-pro.onrender.com/) | 🛒 `Order`: **[$4,999](https://appseed.gumroad.com/l/rocket-package)** (GUMROAD) |
17+
|**Django 4.2.9** | **Everything in Free**, plus: | **Everything in PRO**, plus: |
18+
| ✓ Best Practices |**Premium Bootstrap 5 Design** |**1mo Custom Development** |
19+
| ✓ Bootstrap 5, `Material` Design |`OAuth` Google, GitHub |**Team**: PM, Developer, Tester |
20+
|`CI/CD` Flow via Render |`API`, **[Charts](https://django-soft-dash-pro.onrender.com/charts/)** | ✅ Weekly Sprints |
21+
|`Docker` |**[DataTables](https://django-soft-dash-pro.onrender.com/tables/)** (Filters, Export) | ✅ Technical SPECS |
22+
| - |**Celery** | ✅ Documentation |
23+
| - |**Media Files Manager** |**30 days Delivery Warranty** |
24+
| - |**Extended User Profiles** | - |
25+
| - |`Private REPO Access` | - |
26+
| - |**PRO Support** - [Email & Discord](https://appseed.us/support/) | - |
27+
| - | ✅ Deployment Assistance | - |
28+
| ------------------------------------ | ------------------------------------ | ------------------------------------|
29+
|[LIVE Demo](https://django-soft-dash.onrender.com) | 🚀 [LIVE Demo](https://django-soft-dash-pro.onrender.com/) | 🛒 `Order`: **[$4,999](https://appseed.gumroad.com/l/rocket-package)** (GUMROAD) |
2630

2731

2832
![Django Admin Soft - Template project for Django provided by AppSeed.](https://user-images.githubusercontent.com/51070104/215729207-5cce250e-54da-4712-89a9-c1fd6b0a149e.png)

core/settings.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import os, random, string
1414
from pathlib import Path
1515
from dotenv import load_dotenv
16+
from str2bool import str2bool
1617

1718
load_dotenv() # take environment variables from .env.
1819

@@ -27,13 +28,12 @@
2728
if not SECRET_KEY:
2829
SECRET_KEY = ''.join(random.choice( string.ascii_lowercase ) for i in range( 32 ))
2930

30-
# Render Deployment Code
31-
DEBUG = 'RENDER' not in os.environ
31+
# Enable/Disable DEBUG Mode
32+
DEBUG = str2bool(os.environ.get('DEBUG'))
33+
#print(' DEBUG -> ' + str(DEBUG) )
3234

33-
# HOSTs List
34-
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
35+
ALLOWED_HOSTS = ['*']
3536

36-
# Add here your deployment HOSTS
3737
CSRF_TRUSTED_ORIGINS = ['http://localhost:8000', 'http://localhost:5085', 'http://127.0.0.1:8000', 'http://127.0.0.1:5085']
3838

3939
RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME')

db.sqlite3

128 KB
Binary file not shown.

requirements.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Core
2-
django==4.1.12
3-
python-dotenv==1.0.0
2+
django==4.2.9
3+
python-dotenv==1.0.1
4+
str2bool==1.1
45

56
# UI
67
django-admin-soft-dashboard==1.0.12
78

89
# Deployment
9-
whitenoise==6.5.0
10+
whitenoise==6.6.0
1011
gunicorn==21.2.0
1112

1213
# psycopg2-binary

templates/accounts/login.html

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
{% extends 'layouts/base-fullscreen.html' %}
2+
{% load i18n static admin_soft %}
3+
4+
{% block content %}
5+
6+
{% include 'includes/navigation-fullscreen.html' %}
7+
8+
<main class="main-content mt-0">
9+
<section>
10+
<div class="page-header min-vh-75">
11+
<div class="container">
12+
<div class="row">
13+
<div class="col-xl-4 col-lg-5 col-md-6 d-flex flex-column mx-auto">
14+
<div class="card card-plain mt-8">
15+
<div class="card-header pb-0 text-left bg-transparent">
16+
<h3 class="font-weight-bolder text-info text-gradient">
17+
Sign IN
18+
</h3>
19+
<p class="mb-0">
20+
{% if msg %}
21+
<span class="text-danger">{{ msg | safe }}</span>
22+
{% else %}
23+
<span>USER: test / Pass12__</span>
24+
<br />
25+
<span>ADMIN: admin / Pass12__</span>
26+
{% endif %}
27+
</p>
28+
</div>
29+
<div class="card-body">
30+
<form role="form" method="post" action="#">
31+
{% if form.non_field_errors %}
32+
{% for error in form.non_field_errors %}
33+
<span class="text-danger">{{ error }}</span>
34+
{% endfor %}
35+
{% endif %}
36+
{% csrf_token %}
37+
{% for field in form %}
38+
<label for="{{ field.id_for_label }}">{{ field.label }}</label>
39+
<div class="mb-3">
40+
{{field}}
41+
</div>
42+
{% endfor %}
43+
<p class="">
44+
<a href="{% url 'password_reset' %}" class="text-primary">Forgot password</a>
45+
</p>
46+
47+
<div class="text-center">
48+
<button type="submit" class="btn bg-gradient-info w-100 mt-1 mb-0">Sign in</button>
49+
<p class="mt-4">
50+
Don't have an account?
51+
<a href="{% url 'register' %}" class="text-primary">Register</a>
52+
</p>
53+
</div>
54+
55+
</form>
56+
</div>
57+
</div>
58+
</div>
59+
<div class="col-md-6">
60+
<div class="oblique position-absolute top-0 h-100 d-md-block d-none me-n8">
61+
<div class="oblique-image bg-cover position-absolute fixed-top ms-auto h-100 z-index-0 ms-n6" style="background-image:url('{% static 'img/curved-images/curved6.jpg' %}')"></div>
62+
</div>
63+
</div>
64+
</div>
65+
</div>
66+
</div>
67+
</section>
68+
</main>
69+
70+
{% include 'includes/footer-fullscreen.html' %}
71+
72+
{% endblock content %}
73+
74+
{% block extrascript %}
75+
<script type="application/javascript">
76+
{% if form.username.errors %}
77+
notification.danger("{{ form.username.errors }}", 'top', 'right');
78+
{% endif %}
79+
{% if form.password.errors %}
80+
notification.danger("{{ form.password.errors }}", 'top', 'right');
81+
{% endif %}
82+
83+
{% if user.is_authenticated %}
84+
var msg = "You are authenticated as {{ username }}, but are not authorized to " +
85+
"access this page.Would you like to login to a different account ?"
86+
notification.warning(msg, 'top', 'right');
87+
{% endif %}
88+
89+
{% if form.errors and not form.non_field_errors %}
90+
{% if form.errors.items|length == 1 %}
91+
notification.warning("{% trans "Please correct the error below." %}", 'top', 'right');
92+
{% else %}
93+
notification.warning("{% trans "Please correct the errors below." %}", 'top', 'right');
94+
{% endif %}
95+
{% endif %}
96+
97+
{% if form.non_field_errors %}
98+
{% for error in form.non_field_errors %}
99+
notification.warning("{{ error|clean_text }}", 'top', 'right');
100+
{% endfor %}
101+
{% endif %}
102+
</script>
103+
{% endblock %}

templates/includes/sidebar.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,13 @@ <h6 class="ps-4 ms-2 text-uppercase text-xs font-weight-bolder opacity-6">Accoun
241241
</div>
242242
<div class="docs-info">
243243
<h6 class="text-white up mb-0">Need help?</h6>
244-
<a href="https://docs.appseed.us/products/django-dashboards/soft-ui-dashboard/"
245-
target="_blank" class="btn btn-white btn-sm w-100 mb-0">Read the DOCS</a>
244+
<a href="https://appseed.us/support/"
245+
target="_blank" class="btn btn-white btn-sm w-100 mb-0">Support</a>
246246
</div>
247247
</div>
248248
</div>
249249
<a target="_blank"
250250
class="btn bg-gradient-primary mt-3 w-100"
251-
href="https://appseed.us/support/">Support</a>
251+
href="https://appseed.us/product/soft-ui-dashboard-pro/django/">PRO Version</a>
252252
</div>
253253
</aside>

0 commit comments

Comments
 (0)