Open-Source
seed project generated by AppSeed in Django Framework on top of Material Kit design. Designed for those who like bold elements and beautiful websites, Material Kit 2 is ready to help you create stunning websites and web apps. Material Kit 2
is built with over 60 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining.
- 👉 Django Material Kit - product page
- 👉 Django Material Kit - LIVE App
- 👉 Complete documentation -
Learn how to use and update the product
👉 Update Codebase & Dependencies
- add
django-heroku
torequirements.txt
- add
Procfile
in the root of the project - Edit
core/settings.py
to include the following snippet (at the end of the file):
import django_heroku
django_heroku.settings(locals())
👉 Execute in the terminal (ROOT of the project)
$ heroku login # This will open a browser
$ heroku create # This will create the app on HEROKU (visible on the dashboard)
$ git push heroku master # Compile & push the app LIVE
$ heroku buildpacks:set heroku/python # Manually add the buildpack for Python
$ heroku run python manage.py migrate # Migrate the DB
$ heroku open # Open the new app in the Browser
At this point, the app should be LIVE and functional.
👉 Download the code
$ # Get the code
$ git clone https://github.com/app-generator/deploy-heroku-django.git
$ cd deploy-heroku-django
👉 Install modules via
VENV
$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt
👉 Set Up Database
$ python manage.py makemigrations
$ python manage.py migrate
👉 Start the app
$ python manage.py runserver
At this point, the app runs at http://127.0.0.1:8000/
.
By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:
- Start the app via
flask run
- Access the
registration
page and create a new user:http://127.0.0.1:8000/register/
- Access the
sign in
page and authenticatehttp://127.0.0.1:8000/login/
The project is coded using a simple and intuitive structure presented below:
< PROJECT ROOT >
|
|-- core/ # Implements app configuration
| |-- settings.py # Defines Global Settings
| |-- wsgi.py # Start the app in production
| |-- urls.py # Define URLs served by all apps/nodes
|
|-- apps/
| |
| |-- home/ # A simple app that serve HTML files
| | |-- views.py # Serve HTML pages for authenticated users
| | |-- urls.py # Define some super simple routes
| |
| |-- authentication/ # Handles auth routes (login and register)
| | |-- urls.py # Define authentication routes
| | |-- views.py # Handles login and registration
| | |-- forms.py # Define auth forms (login and register)
| |
| |-- static/
| | |-- <css, JS, images> # CSS files, Javascripts files
| |
| |-- templates/ # Templates used to render pages
| |-- includes/ # HTML chunks and components
| | |-- navigation.html # Top menu component
| | |-- footer.html # App Footer
| | |-- scripts.html # Scripts common to all pages
| |
| |-- layouts/ # Master pages
| | |-- base.html # Used by common pages
| |
| |-- accounts/ # Authentication pages
| | |-- login.html # Login page
| | |-- register.html # Register page
| |
| |-- home/ # UI Kit Pages
| |-- index.html # Index page
| |-- page-404.html # 404 page
| |-- *.html # All other pages
|
|-- requirements.txt # Development modules - SQLite storage
|
|-- .env # Inject Configuration via Environment
|-- manage.py # Start the app - Django default start script
|
|-- ************************************************************************
HEROKU & Django Starter - Open-source starter provided by AppSeed.