Skip to content

Commit 630b728

Browse files
committed
Release v1.0.5
1 parent 837de25 commit 630b728

File tree

11 files changed

+303
-19
lines changed

11 files changed

+303
-19
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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ env
1010
/staticfiles/
1111

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

15-
.env
15+
#.env

CHANGELOG.md

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

3+
## [1.0.5] 2024-03-09
4+
### Changes
5+
6+
- Deprecate `distutils`
7+
- use `str2bool`
8+
- Update Deps
9+
- `requirements.txt`
10+
- Update README: [PRO Version](https://appseed.us/product/berry-dashboard-pro/django/), List features
11+
- `API`, **Charts**
12+
- **DataTables** (Filters, Export)
13+
- **Celery**
14+
- **Media Files Manager**
15+
- **Extended User Profiles**
16+
- Update [Custom Development](https://appseed.us/custom-development/) Section
17+
- New Pricing: `$3,999`
18+
319
## [1.0.4] 2023-01-30
420
### Changes
521

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,28 @@ Open-source **[Django Dashboard](https://appseed.us/admin-dashboards/django/)**
44

55
- 👉 [Django Berry](https://appseed.us/product/berry-dashboard/django/) - `Product page`
66
- 👉 [Django Berry](https://django-berry.onrender.com) - `LIVE Demo`
7-
- 🛒 **[Django Berry PRO](https://appseed.us/product/berry-dashboard-pro/django/)** - `Premium Version`
87

98
<br />
109

11-
> Features:
12-
13-
-`Up-to-date Dependencies`
14-
- ✅ Theme: [Django Admin Berry](https://github.com/app-generator/django-admin-berry)
15-
-**Authentication**: `Django.contrib.AUTH`, Registration
16-
- 🚀 `Deployment`
17-
- `CI/CD` flow via `Render`
10+
## Features
11+
12+
> `Have questions?` Contact **[Support](https://appseed.us/support/)** (Email & Discord) provided by **AppSeed**
13+
14+
| Free Version | [PRO Version](https://appseed.us/product/berry-dashboard-pro/django/) | [Custom Development](https://appseed.us/custom-development/) |
15+
| --------------------------------------| --------------------------------------| --------------------------------------|
16+
|**Django 4.2.9** | **Everything in Free**, plus: | **Everything in PRO**, plus: |
17+
| ✓ Best Practices |**Premium Bootstrap 5 Design** |**1mo Custom Development** |
18+
| ✓ Bootstrap 5, `Material` Design |`OAuth` Google, GitHub |**Team**: PM, Developer, Tester |
19+
|`CI/CD` Flow via Render |`API`, **Charts** | ✅ Weekly Sprints |
20+
|`Docker` |**DataTables** (Filters, Export) | ✅ Technical SPECS |
21+
| - |**Celery** | ✅ Documentation |
22+
| - |**Media Files Manager** |**30 days Delivery Warranty** |
23+
| - |**Extended User Profiles** | - |
24+
| - |`Private REPO Access` | - |
25+
| - |**PRO Support** - [Email & Discord](https://appseed.us/support/) | - |
26+
| - | ✅ Deployment Assistance | - |
27+
| ------------------------------------ | ------------------------------------ | ------------------------------------|
28+
|[LIVE Demo](https://django-berry.onrender.com) | 🚀 [LIVE Demo](https://django-berry-pro.onrender.com) | 🛒 `Order`: **[$3,999](https://appseed.gumroad.com/l/rocket-package)** (GUMROAD) |
1829

1930
![Berry Bootstrap 5 - Dark-Mode ready, Open-source Template.](https://user-images.githubusercontent.com/51070104/215728710-d1ee7fef-8153-402b-9741-371e1c01cd36.png)
2031

core/settings.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@
1010
https://docs.djangoproject.com/en/4.1/ref/settings/
1111
"""
1212

13-
import os, random, string
13+
import os, random, string, inspect
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,10 +28,16 @@
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-
ALLOWED_HOSTS = []
35+
ALLOWED_HOSTS = ['*']
36+
37+
# Add here your deployment HOSTS
38+
CSRF_TRUSTED_ORIGINS = ['http://localhost:8000', 'http://localhost:5085', 'http://127.0.0.1:8000', 'http://127.0.0.1:5085']
39+
40+
X_FRAME_OPTIONS = "SAMEORIGIN"
3441

3542
RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME')
3643
if RENDER_EXTERNAL_HOSTNAME:
@@ -63,7 +70,7 @@
6370

6471
ROOT_URLCONF = "core.urls"
6572

66-
HOME_TEMPLATES = os.path.join(BASE_DIR, 'home', 'templates')
73+
HOME_TEMPLATES = os.path.join(BASE_DIR, 'templates')
6774

6875
TEMPLATES = [
6976
{

db.sqlite3

128 KB
Binary file not shown.

requirements.txt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
django
2-
gunicorn
3-
python-dotenv
4-
whitenoise
1+
# Core
2+
django==4.2.9
3+
python-dotenv==1.0.1
4+
str2bool==1.1
5+
6+
# UI
57
django-admin-berry==1.0.10
68

9+
# Deployment
10+
whitenoise==6.6.0
11+
gunicorn==21.2.0
12+
13+
# DB Layer
714
# psycopg2-binary
815
# mysqlclient

templates/accounts/login.html

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{% extends 'layouts/auth_base.html' %}
2+
{% load static %}
3+
4+
{% block title %} Login {% endblock title %}
5+
6+
{% block content %}
7+
<div class="auth-main">
8+
<div class="auth-wrapper v3">
9+
<div class="auth-form">
10+
<div class="card my-5">
11+
<div class="card-body">
12+
<a href="#" class="d-flex justify-content-center">
13+
<img src="{% static 'assets/images/logo-dark.svg' %}" />
14+
</a>
15+
<div class="row">
16+
<div class="d-flex justify-content-center">
17+
<div class="auth-header">
18+
<h2 class="text-secondary mt-5"><b>Hi, Welcome Back</b></h2>
19+
20+
<p class="f-16 mt-2">
21+
<span>USER: test / Pass12__</span>
22+
<br />
23+
<span>ADMIN: admin / Pass12__</span>
24+
</p>
25+
26+
</div>
27+
</div>
28+
</div>
29+
<form method="post">
30+
{% csrf_token %}
31+
32+
{% if form.non_field_errors %}
33+
{% for error in form.non_field_errors %}
34+
<span class="text-danger">{{ error }}</span>
35+
{% endfor %}
36+
{% endif %}
37+
38+
{% for field in form %}
39+
<div class="form-floating mb-3">
40+
{{field}}
41+
<label for="floatingInput">{{ field.label }}</label>
42+
</div>
43+
<span class="text-danger">{{ field.errors }}</span>
44+
{% endfor %}
45+
<div class="d-flex mt-1 justify-content-between">
46+
<div class="form-check">
47+
<input class="form-check-input input-primary" type="checkbox" id="customCheckc1" checked="" />
48+
<label class="form-check-label text-muted" for="customCheckc1">Remember me</label>
49+
</div>
50+
<h5 class="text-secondary">
51+
<a href="{% url 'password_reset' %}">Forgot Password?</a>
52+
</h5>
53+
</div>
54+
<div class="d-grid mt-4">
55+
<button type="submit" class="btn btn-secondary">Sign In</button>
56+
</div>
57+
</form>
58+
<hr />
59+
<h5 class="d-flex justify-content-center">Don't have an account?
60+
<a class="ms-2" href="{% url 'register' %}">Register</a>
61+
</h5>
62+
</div>
63+
</div>
64+
</div>
65+
</div>
66+
</div>
67+
{% endblock content %}

templates/accounts/register.html

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{% extends 'layouts/auth_base.html' %}
2+
{% load static %}
3+
4+
{% block title %} SignUp {% endblock title %}
5+
6+
{% block content %}
7+
<div class="auth-main">
8+
<div class="auth-wrapper v3">
9+
<div class="auth-form">
10+
<div class="card mt-5">
11+
<div class="card-body">
12+
<a href="#" class="d-flex justify-content-center mt-3">
13+
<img src="{% static 'assets/images/logo-dark.svg' %}" />
14+
</a>
15+
<div class="row">
16+
<div class="d-flex justify-content-center">
17+
<div class="auth-header">
18+
<h2 class="text-secondary mt-5"><b>Sign up</b></h2>
19+
<p class="f-16 mt-2">Enter your credentials to continue</p>
20+
</div>
21+
</div>
22+
</div>
23+
<form method="post">
24+
{% csrf_token %}
25+
26+
{% for field in form %}
27+
<div class="form-floating mb-3">
28+
{{field}}
29+
<label for="floatingInput">{{ field.label }}</label>
30+
</div>
31+
<span class="text-danger">{{ field.errors }}</span>
32+
{% endfor %}
33+
<div class="form-check mt-3s">
34+
<input class="form-check-input input-primary" type="checkbox" id="customCheckc1" checked="" />
35+
<label class="form-check-label" for="customCheckc1">
36+
<h5>Agree with <span>Terms & Condition.</span></h5>
37+
</label>
38+
</div>
39+
<div class="d-grid mt-4">
40+
<button type="submit" class="btn btn-secondary p-2">Sign Up</button>
41+
</div>
42+
</form>
43+
<hr />
44+
<h5 class="d-flex justify-content-center">Already have an account?
45+
<a class="ms-2" href="{% url 'login' %}">Login</a>
46+
</h5>
47+
</div>
48+
</div>
49+
</div>
50+
</div>
51+
</div>
52+
{% endblock content %}
File renamed without changes.

0 commit comments

Comments
 (0)