A Django blog app with features of a standard blogging platform.
Project description
django-bona-blog
A Django blog app with features of a standard blogging platform.
Table of contents
General info
An Open-Source Django blogging app like Medium and Real Python. It has features of a standard blogging platform.
Screenshots
Authors Dashboard Page |
---|
Create Article Page |
---|
Authors Profile Details Page |
---|
Home Page | List of Categories Page |
---|---|
Category Articles List Page | Author Articles List Page |
---|---|
Article Detail Page |
---|
Features
- Mobile App Version
- Dashboard for Authors
- WYSIWYG Editor
- Author Login
- Author Password Reset
- API for Clients
- Category List
- Category Articles List
- New Category Submission
- Related Articles
- Comments
- Articles Search
- Article Social Media Share
- Article Minute Read
- Article Number of Words
- Article Number of Views
- Article Tags
- Tag Related Articles
- Markdown Support
- Responsive on all devices
- Pagination
- Clean Code
- 90% test coverage
Technologies
- Python 3.6
- Javascript
- Jquery
- Ajax
- PrismJS
- Django 3
- HTML5
- CSS3
- Bootstrap 4
- Ion Icons
- Font awesome
- TinyMCE 5
- SQLite
- PostgreSQL
Setup
To run this app, you will need to follow these 3 steps:
1. Requirements
-
a Laptop
-
Text Editor or IDE (eg. vscode, PyCharm)
-
Python 3.6 +
-
Django 2.2+
2. Install Python and Pipenv
3. Local Setup and Running on Windows, Linux and Mac OS
a. Install package with pip or pipenv
```
$ pip install django-bona-blog
```
or
```
$ pipenv install django-bona-blog
```
b. Add django_filters, tinmyce, taggit
and rest_framework
to your INSTALLED_APPS
in settings.py
:
INSTALLED_APPS = (
...
'django_filters',
'rest_framework',
'taggit',
'tinymce',
)
c. Add blog
to INSTALLED_APPS
in settings.py
for your Django project:
INSTALLED_APPS = (
...
'blog.apps.BlogConfig',
)
d. Add blog.urls, tinmyce.urls and api.urls
to urls.py
of your project:
urlpatterns = [
...
path('tinymce/', include('tinymce.urls')),
path('blog/', include('blog.urls')),
path('api/v1/article/', include('blog.api.v1.routers.routers')),
]
e. Add configuration to serve static files in development to urls.py
of your project:
from django.conf import settings
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
f. Create blog database tables
$ python manage.py migrate blog
g. Add dashboard
configuration to your project settings.py
:
# Account Settings
LOGIN_URL = '/account/login/'
LOGIN_REDIRECT_URL = '/author/dashboard/'
LOGOUT_REDIRECT_URL = '/account/logout/'
h. Add email configuration
for account signup and password reset
# Email Settings (Development)
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
# Email Settings (Production)
EMAIL_BACKEND = ''
EMAIL_HOST = ''
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ""
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Running Tests
$ python manage.py test blog.tests
Status
Project is: in progress
Contact
Created by Williano - feel free to contact me!
License
You can check out the full license here
This project is licensed under the terms of the MIT license.
Contributing
- Fork it (https://github.com/Williano/django-bona-blog.git)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
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
django-bona-blog-1.1.0.tar.gz
(29.3 kB
view hashes)
Built Distribution
Close
Hashes for django_bona_blog-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4125e68e33ad0a1f46e189564128c00ee6c18e292c89e69240ec6de394e81117 |
|
MD5 | 31bc41aec485f1a31e5ac0e977927e8b |
|
BLAKE2b-256 | dc4d8116e6fa18ad14f5baa7e5a85473c524a4e0dc81d5fd9ee580e1daf49b08 |