A boilerplate for Django web applications

Overview

Django Hackathon Starter

A boilerplate application for Django web applications.

If you've attented hackathons, you already know how much time can be wasted figuring out what language to pick, which web framework to choose, which APIs to incorporate, and figuring out OAuth authentication. Django Hackathon Starter aims to provide these features out of the box, allowing the team to save hours of time getting these pieces together.

Even if you are not using this for a hackathon, Django Hackathon Starter is sure to save any developer hours or even days of development time and can serve as a learning guide for web developers.

Basic Authentication / OAuth Signin

Login

API Examples

API Examples

Table of Contents

Features

  • User Registration
  • Sphinx Documentation
  • Django Nosetests
  • Integration with Django Rest Framework
  • Basic Authentication with username and password
  • OAuth 2.0 Authentication
    • Github
    • LinkedIn
    • Instagram
    • Facebook
    • Google+
    • Dropbox
    • Foursquare
  • OAuth 1.0a Authentication
    • Twitter
    • Tumblr
  • API Examples
    • Yelp API
    • Github API
    • Instagram API
    • Tumblr API
    • Twitter API
    • Twilio API
    • Meetup API
    • Steam API
    • Quandl Stock API
    • New York Times API
    • LinkedIn API
    • Facebook API
    • Google+ API
    • Dropbox API
    • Foursquare API

Pre-requisites

This project relies on bower for front-end dependencies, which in turn requires npm. npm is now bundled with NodeJS, which you can download and install here.

For Python-specific libraries, this project relies on pip. The easiest way to install pip can be found here.

Getting Started

To get up and running, simply do the following:

$ git clone https://github.com/DrkSephy/django-hackathon-starter.git
$ cd django-hackathon-starter

# Install the requirements
$ pip install -r requirements.txt

# Install bower
$ npm install -g bower
$ bower install

# Perform database migrations
$ python manage.py makemigrations
$ python manage.py migrate

NOTE: We highly recommend creating a Virtual Environment. Python Virtual Environments allow developers to work in isolated sandboxes and to create separation between python packages installed via pip.


Getting API Keys

  1. Register an account on Yelp.com
  2. Visit the Yelp for developers page
  3. You will obtain the following: CONSUMER KEY, CONSUMER SECRET, TOKEN, TOKEN_SECRET
  4. Within settings.py, add the following:
    • YELP_CONSUMER_KEY = Yelp Consumer Key
    • YELP_CONSUMER_SECRET = Yelp Consumer Secret
    • YELP_TOKEN = Yelp Token
    • YELP_TOKEN_SECRET = Yelp Token Secret

  1. Register an account on Meetup.com
  2. Visit Meetup OAuth Consumers page
    • Enter a project name for the consumer name field
    • For redirect url field, enter: http://127.0.0.1:8000/hackathon/
  3. Within settings.py, add the following:
    • MEETUP_CONSUMER_KEY = Meetup key
    • MEETUP_CONSUMER_SECRET = Meetup secret key

  1. Register an account on Twilio.com
  2. Get your Twilio Number
  3. Setup the numbers you want to be able to send messages to
  4. Grab your account_sid and auth_token here
  5. Within scripts/twilioapi.py:
    • Replace account_sid with your own Twilio account_sid
    • Replace auth_token with your own Twilio auth_token

  1. Register an account on Github.com.
  2. Visit Github developer applications page
  3. Click on Register new application.
    • Enter Application name and Homepage URL field
    • For redirect url field, enter: http://127.0.0.1:8000/hackathon/
  4. Click Register application.
  5. Within settings.py, add the following:
    • GITHUB_CLIENT_ID = Github-client-id
    • GITHUB_CLIENT_SECRET = Github-client-secret

  1. Register an account on Twitter.com
  2. Visit Twitter application management page
  3. Click on Create New App
    • Enter Application name, Description, and Website field
    • For Callback URL field, enter: http://127.0.0.1:8000/hackathon/
  4. Click Create your Twitter application
  5. Go to the Permissions tab
  6. Under Access, select Read and Write type
  7. Go to Keys and Access Tokens tab
  8. Under Your Access Token, click on Create my access token to generate access tokens
  9. Within settings.py, add the following:
    • TWITTER_CONSUMER_KEY = Twitter-consumer-key
    • TWITTER_CONSUMER_SECRET = Twitter-consumer-secret
    • TWITTER_ACCESS_TOKEN = Twitter-access-token
    • TWITTER_ACCESS_TOKEN_SECRET = Twitter-access-token-secret

  1. Register an account on Instagram.com.
  2. Visit Instagram manage clients page
  3. Click on Register a New Client
    • Enter Application name, Description, and Website URL field
    • For Redirect URI field, enter: http://127.0.0.1:8000/hackathon/
  4. Within settings.py, add the following:
    • INSTAGRAM_CLIENT_ID = Instagram-client-id
    • INSTAGRAM_CLIENT_SECRET = Instagram-client-secret

  1. Register an account on Linkedin.com.
  2. Visit Linkedin developer Network page
  3. Click on Add New Application
    • Enter Company Info, Application Info, and Contact Info section
    • Under OAuth User Agreement section, select scopes needed
    • For OAuth 2.0 Redirect URLs field, enter: http://127.0.0.1:8000/hackathon/
  4. Click Add Application
  5. Within settings.py, add the following:
    • LINKEDIN_CLIENT_ID = Linkedin-client-id
    • LINKEDIN_CLIENT_SECRET = Linkedin-client-secret

  1. Register an account on Facebook.com
  2. Visit Facebook Developers page
  3. After logging in, Click on My Apps and then on Add a New App
    • Choose Website as the platform and add the name for your project
    • Give your app a name.
    • Choose the category your app falls into.
    • Click Create App ID
    • Skip the quickstart process and you will be redirected to the app dashboard.
  4. Copy the app ID and the app secret.
  5. From the left menu choose the Settings option.
  6. Click on Add Platform and choose Website once again.
  7. Under site URL, specift the URL to be redirected after authentication is complete.
  8. Click save.
  9. In settings.py change the following values:
    • FACEBOOK_APP_ID = your_app_id
    • FACEBOOK_APP_SECRET = your_app_secret

  1. Register an account on Google.com.
  2. Navigate to Google Developer Console.
  3. Click on Create Project, give your app a name and click Create (this might take a few sceonds).
  4. You will be redirected to the project dashboard. From the left menu choose APIs & auth and then choose APIs.
  5. Choose the API you would like to use (the built in example uses Google+ API).
  6. Click on Enable API.
  7. From the side menu, under APIs & auth select consent screen.
    • Fill your app name under Product Name.
    • Hit save button on the bottom.
  8. From the side menu, under APIs & auth select credentials:
    • Click on Create new Client ID.
    • Under Authorized JavaScript origins specify you app base address (e.g http://localhost:8000).
    • Under Authorized redirect URIs specify the URL to be redirected after authentication is complete.
    • Hit Create Client ID button (this might also take a few seconds).
  9. Copy your new generated client_id and client_secret:
  10. Under settings.py change the following values:
    • GOOGLE_PLUS_APP_ID = your_client_id
    • GOOGLE_PLUS_APP_SECRET = your_client_secret

  1. Register an account on Dropbox.com.
  2. Navigate to Dropbox Developers.
  3. From the side menu, select App Console and click on Create app.
  4. Configure the app permissions. This example uses the following configuration:
    • App type- Dropbox API app
    • My app needs access to files already on Dropbox.
    • My app needs access to a user's full Dropbox.
    • Note: This kind of configuration will require you to submit your app for approval.
  5. Give your app a name and click the Create app button.
  6. You will be redirected to the app console:
    • Under Redirect URIs specify the URL to be redirected after authentication is complete (e.g http://locahost:8000/home) and click add.
    • Copy your App key and App secret.
  7. Under settings.py change the following values:
    • DROPBOX_APP_ID = your_app_id
    • DROPBOX_APP_SECRET = your_app_secret

  1. Register and account on Foursquare.com.
  2. Navigate to Foursquare For Developers.
  3. From the top menu bar select My Apps and you will be redirected to the app dashboard.
  4. Hit Create a New App:
    • Give your app a name.
    • Under Download / welcome page url, specify your app main url (e.g http://www.localhost:8000).
    • Under Redirect URI, specify the URL to be redirected after authentication is complete (e.g http://locahost:8000/home) and click add.
    • Scroll all the way to the botttom and hit Save Changes.
  5. From the App page you were redirected to, copy your App key and App secret.
  6. Under settings.py change to following values:
    • FOURSQUARE_APP_ID = your_client_id
    • FOURSQUARE_APP_SECRET = your_app_secret

  1. Register an account on Tumblr.com.
  2. Visit Tumblr applications page.
  3. Click on Register Application.
  4. Click Register.
  5. Within settings.py, add the following:
    • TUMBLR_CONSUMER_KEY = Tumblr-consumer-key
    • TUMBLR_CONSUMER_SECRET = Tumblr-consumer-secret

  1. Register an account on Steam
  2. Visit Steam Community developers page
  3. After logging in, add the Domain Name as the name of your application and key is shown
  4. Within your views.py add the Key in key underneath the view for your steam application

  1. Register an account on NY Times Developer Network
  2. Click on Register
  3. After logging in, click on APIs (http://developer.nytimes.com/apps/register) Write in the Name of your application and click each sub-API that you will use
    • Agree to the Terms of Service and click on Register Application
  4. Within your settings.py add the following:
    • POPAPIKEY = Most Popular API
    • TOPAPIKEY = Top Stories API

  1. Register an account on Quandl
  2. After logging in, click on Me and then Account settings to find the API key
  3. Within your settings.pyadd QUANDLAPIKEY = Key

Project Structure

Name Description
hackathon_starter/settings.py Django settings module containing database and API keys/tokens
hackathon/admin.py Registered models for Django's admin page
hackathon/models.py Django models and profiles for user login
hackathon/tests.py Integration tests
hackathon/urls.py Django Hackathon Starter URL dispatcher
hackathon/views.py Django views file
hackathon/serializers.py Allows JSON representation for Django Model fields
hackathon/forms.py Basic form fields
hackathon/static/ Front-end JavaScript / CSS files
hackathon/unittests Unit tests
hackathon/scripts/ API Example scripts
**hackathon/scripts/**github.py Script for interacting with Github API
**hackathon/scripts/**instagram.py Script for interacting with Instagram API
**hackathon/scripts/**linkedin.py Script for interacting with LinkedIn API
**hackathon/scripts/**meetup.py Script for interacting with Meetup API
**hackathon/scripts/**nytimes.py Script for interacting with New York Times API
**hackathon/scripts/**quandl.py Script for interacting with Quandl API
**hackathon/scripts/**scraper.py Basic web scraper for getting sales from Steam
**hackathon/scripts/**facebook.py Script for interacting with Facebook API
**hackathon/scripts/**dropbox.py Script for interacting with Dropbox API
**hackathon/scripts/**foursquare.py Script for interacting with Foursquare API
**hackathon/scripts/**googlePlus.py Script for interacting with Google+ API
**hackathon/scripts/**steam.py Script for interacting with Steam API
**hackathon/scripts/**tumblr.py Script for interacting with Tumblr API
**hackathon/scripts/**twilioapi.py Script for interacting with Twilio API
**hackathon/scripts/**twitter.py Script for interacting with Twitter API
**hackathon/scripts/**yelp.py Script for interacting with Yelp API
**hackathon/templates/**hackathon/ Templates for API examples
**hackathon/templates/**hackathon/base.html Base template, contains navbar

Contributing

We welcome contributions of all kinds. If you would like to know what work is needed to be done, check the issue tracker. Before sending a pull request, please open an issue. This project follows the pep-0008 style guide.

LICENSE

The MIT License (MIT)

Copyright (c) 2015 David Leonard

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • Implement Facebook Login

    Implement Facebook Login

    One of the most common sign-in methods (Facebook) has not been implemented. Users often fall back to using this method, so it should be a high priority to get it done.

    enhancement help wanted high priority 
    opened by DrkSephy 7
  • /hackathon/githubTopRepositories/ fails

    /hackathon/githubTopRepositories/ fails

    Athough /hackathon/githubResume/ and /hackathon/githubUser/ work properly on my resh install on a brand new virtualenv, /hackathon/githubTopRepositories/ fails.

    Here is my stacktrace :

    Environment:
    
    
    Request Method: POST
    Request URL: http://127.0.0.1:8000/hackathon/githubTopRepositories/
    
    Django Version: 1.7.6
    Python Version: 2.7.12
    Installed Applications:
    ('django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'hackathon',
     'bootstrapform',
     'django_nose',
     'rest_framework',
     'corsheaders')
    Installed Middleware:
    ('django.contrib.sessions.middleware.SessionMiddleware',
     'corsheaders.middleware.CorsMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware')
    
    
    Traceback:
    File "/home/edelans/.virtualenvs/django-starter/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
      111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "/home/edelans/github/django-hackathon-starter/hackathon_starter/hackathon/views.py" in githubTopRepositories
      532.         list = getTopContributedRepositories(user, repositories, settings.GITHUB_CLIENT_ID, settings.GITHUB_CLIENT_SECRET)
    File "/home/edelans/github/django-hackathon-starter/hackathon_starter/hackathon/scripts/github.py" in getTopContributedRepositories
      260.         jsonList.append(json.loads(req.content))
    File "/home/edelans/.virtualenvs/django-starter/local/lib/python2.7/site-packages/simplejson/__init__.py" in loads
      505.         return _default_decoder.decode(s)
    File "/home/edelans/.virtualenvs/django-starter/local/lib/python2.7/site-packages/simplejson/decoder.py" in decode
      370.         obj, end = self.raw_decode(s)
    File "/home/edelans/.virtualenvs/django-starter/local/lib/python2.7/site-packages/simplejson/decoder.py" in raw_decode
      400.         return self.scan_once(s, idx=_w(s, idx).end())
    
    Exception Type: JSONDecodeError at /hackathon/githubTopRepositories/
    Exception Value: Expecting value: line 1 column 1 (char 0)
    
    opened by edelans 4
  • How to access default site on Vagrant

    How to access default site on Vagrant

    Hello,

    I have followed every step and deployed this in a vagrant VM configured with puphpet. The machine is running apache in Ubuntu, how do I enable the site and log into this default config

    Thanks,

    Adam

    opened by dbd5 2
  • Add landing/homepage

    Add landing/homepage

    Hi,

    I think you should add a landing/homepage. For one thing, it's counter-intuitive to start a project on a local server and have an error where index.html would usually be, though I see that you have already used index.html in the app. Could do something like this at a project level in hackathon-starter/urls.py:

    from django.conf.urls import patterns, include, url from django.contrib import admin from django.views.generic import TemplateView

    urlpatterns = patterns('', url(r'^$', TemplateView.as_view(template_name='homepage.html'), name="homepage"), url(r'^hackathon/', include('hackathon.urls')), url(r'^admin/', include(admin.site.urls)), # url(r'^openid/(.*)', SessionConsumer()), )

    And add templates (with homepage.html) and static directories:

    hackathon-starter/
        manage.py
        hackathon-starter/
            __init__.py
            settings.py
            urls.py
            wsgi.py
        hackathon/
                app-level-files
        static/ 
        templates/
            homepage.html
    

    Of course the homepage.html would provide a link to (/hackathon) index.html. What do you think?

    opened by KatherineMichel 2
  • Update README.md

    Update README.md

    A simple three lines process missing. Being my first time, I faced the issue to go the right URL at the first go.

    By default it goes to https://127.0.0.1:8000 rather than https://127.0.0.1:8000/hackathon

    opened by harshul1610 2
  • Python 3 port

    Python 3 port

    Have not yet quite figured out how to contribute using git (as my profile probably shows!) but in case anyone needs it I ported the app to Python 3.4 (tested with django 1.8.4).

    https://github.com/kabaka0/django-hackathon-starter

    Sorry for using 'Issues', I assume it is not the right forum for this.

    One unittest fails though, testGetForkedRepositories(). I currently have it set as skipped. I assume that 'DrkSephy's repositories have changed hence the failure.

    opened by kabaka0 2
  • Error while running python3 mange.py makemigrations

    Error while running python3 mange.py makemigrations

    Traceback (most recent call last):
    File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
    File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 351, in      execute_from_command_line
    utility.execute()
    File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 325, in execute
    django.setup()
    File "/usr/local/lib/python3.4/dist-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
    File "/usr/local/lib/python3.4/dist-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
    File "/usr/local/lib/python3.4/dist-packages/django/apps/config.py", line 86, in create
    module = import_module(entry)
    File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
    File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
    File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked
    ImportError: No module named 'bootstrapform'
    
    opened by ponty96 2
  • More integration with Django REST framework

    More integration with Django REST framework

    Currently there is a simple Django Rest framework example for creating Code Snippets and sending a JSON response to the server. It would be good to have a deeper example which supports more features beyond GET requests (PUT, DELETE, UPDATE).

    feature 
    opened by DrkSephy 2
  • Facebook API: How to ask for user email?

    Facebook API: How to ask for user email?

    I have spent hours trying to get the user email after login, but the response object from facebook api script would only return the user's name and id. Anyone know how? Thanks.

    opened by PrincipalsOffice 1
  • Login with Foursquare + Foursquare API example

    Login with Foursquare + Foursquare API example

    Another popular API is Foursquare. A login feature as well as a basic user information example would be useful to have. For more information on authenticating a user, read here.

    enhancement help wanted feature 
    opened by DrkSephy 1
  • docs: Fix simple typo, retrived -> retrieved

    docs: Fix simple typo, retrived -> retrieved

    There is a small typo in hackathon_starter/hackathon/scripts/googlePlus.py, hackathon_starter/hackathon/scripts/scraper.py.

    Should read retrieved rather than retrived.

    opened by timgates42 0
  • Add settings for different envs

    Add settings for different envs

    This project is an awesome project starter. Thanks!

    Problem

    But one thing caught my eye: there's only one configuration file for all possible envs: development, stage, testing, production and local.

    Maybe it would be a good idea to add some kind of library to handle that? Some popular examples: django-configurations and django-split-settings.

    Also, adding a lot of social providers inside the same settings file may grow it long and nasty.

    Solution

    Here's a brief example, how to use django-split-settings. We will need new settings package structure:

    your_project/settings/
    ├── __init__.py
    ├── components
    │   ├── __init__.py
    │   ├── database.py
    │   ├── common.py
    └── environments
        ├── __init__.py
        ├── development.py
        ├── local.py.template
        ├── production.py
        └── testing.py
    

    And here's settings/__init__.py:

    """
    This is a django-split-settings main file.
    For more information read this:
    https://github.com/sobolevn/django-split-settings
    
    Default environment is `production`.
    To change settings file:
    `DJANGO_ENV=testing python manage.py runserver`
    """
    
    from os import environ
    from split_settings.tools import optional, include
    
    ENV = environ.get('DJANGO_ENV') or 'production'  # since it's a production-ready template
    
    base_settings = [
        'components/common.py',  # standard django settings
        'components/database.py',  # database setup
        
        # Select the right env:
        'environments/%s.py' % ENV,
        # Optionally override some settings:
        optional('environments/local.py'),
    ]
    
    # Include settings:
    include(*base_settings)
    

    So after that it would be crystal-clear for users where to put extra configurations like: django-debug-toolbar and other which are used for development or testing only.

    Conclusion

    Pros:

    • Clear settings structure
    • No refactoring and no effect on the end user
    • Multiple possible environments with reasonable default

    Cons:

    • Extra dependency

    Maybe I am missing any cons, please correct me if I am wrong.

    Further readings

    Here's a detailed article I wrote on this topic: https://medium.com/wemake-services/managing-djangos-settings-e2b7f496120d


    So, what do you think? I will send a PR if that's fine.

    opened by sobolevn 0
Owner
David Leonard
Engineering @DataDog. Previously JavaScript Ninja @Clarifai & @yahoo.
David Leonard
Backend Boilerplate using Django,celery,Redis

Backend Boilerplate using Django,celery,Redis

Daniel Mawioo 2 Sep 14, 2022
A boilerplate Django project for quickly getting started.

The Definitive Django Learning Platform. Django Project Boilerplate This repository is a boilerplate Django project for quickly getting started. Getti

Le Huynh Long 1 Nov 1, 2021
This is a boilerplate for a basic backend app using Python, Django and SQLite, as developed after tutorials with Programming with Mosh

This is a boilerplate for a basic backend app using Python, Django and SQLite, as developed after tutorials with Programming with Mosh

Gustavo Catala Sverdrup 1 Jan 7, 2022
A full stack boilerplate for FastAPI

A full stack boilerplate for FastAPI

Tyler M. Kontra 94 Dec 13, 2022
A template repository implementing HTML5 Boilerplate 8.0 in Sanic using the Domonic framework.

sanic-domonic-h5bp A template repository implementing HTML5 Boilerplate 8.0 in Sanic using the Domonic framework. If you need frontend interactivity,

PyXY 3 Dec 12, 2022
Boilerplate code for a Python Flask API

MrMat :: Python :: API :: Flask Boilerplate code for a Python Flask API This variant of a Python Flask API is code-first and using native Flask Featur

null 0 Dec 26, 2021
Boilerplate for starting a python project

Python Project Boilerplate Simple boilerplate for starting a python proect. Using the repo Follow following steps to install client on server Create a

Prajwal Dahal 1 Nov 19, 2021
A Boilerplate repo for Scientific Python Open Science projects

A Boilerplate repo for Scientific Python Open Science projects Installation Clone this repo If you need a fresh python environment, run $ conda env cr

Vincent Choqueuse 2 Dec 23, 2021
King is a simple boilerplate from a bigger Discord Bot project created for my Discord Server.

King A simple Discord bot boilerplate. King is a simple boilerplate from a bigger Discord Bot project created for my Discord Server. I intend to showc

Xminent 0 Aug 21, 2021
This is a FastAPI, React, MongoDB stack Boilerplate. It's as glorious as a highland coo.

Coo - F.A.R.M stack BoilerPlate F.A.R.M - FastAPI, React, MongoDB This boilerplate utilizes FastAPI to build a REST API, MongoDB for data storage, and

Peter Waters 2 Feb 6, 2022
Brif is a boilerplate tool based on Docker and FastAPI, designed to streamline the development and deployment of IIIF compliant platforms.

brif A boilerplate tool based on Docker, designed to streamline the development and deployment of IIIF compliant platforms. Embedded with FastAPI, Cel

Pierre 8 Sep 17, 2022
Django sample app with users including social auth via Django-AllAuth

demo-allauth-bootstrap Simple, out-of-the-box Django all-auth demo app A "brochure" or visitor (no login required) area A members-only (login required

Andrew E 215 Dec 20, 2022
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.

Cookiecutter Django Powered by Cookiecutter, Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly. Documentati

Daniel Roy Greenfeld 10k Jan 1, 2023
Django Webpack starter template for using Webpack 5 with Django 3.1 & Bootstrap 4. Yes, it can hot-reload.

Django Webpack Starter Hello fellow human. The repo uses Python 3.9.* Django 3.1.* Webpack 5.4.* Bootstrap 4.5.* Pipenv If you have any questions twe

Ganesh Khade 56 Nov 28, 2022
Vue + Django with no compromises. Django Templates and Vue SFCs in harmony without sacrificing the full power of either.

Cookiecutter Vue Django Vue + Django with no compromise. Cookiecutter Vue Django is a framework for jumpstarting production-ready Django + Vue project

Mike Hoolehan 122 Dec 22, 2022
NHS Theme for Streamlit applications

NHS Streamlit App Template Deployment (local) The tool has been built using Stre

nhs.pycom 3 Nov 7, 2022
A Django project skeleton that is modern and cutting edge.

{% comment "This comment section will be deleted in the generated project" %} Edge A Fantastic Django project starter. Features Ready Bootstrap-themed

Arun Ravindran 827 Dec 15, 2022
Bleeding edge django template focused on code quality and security.

wemake-django-template Bleeding edge django2.2 template focused on code quality and security. Purpose This project is used to scaffold a django projec

wemake.services 1.6k Jan 4, 2023
Django starter project with 🔋

A batteries-included Django starter project. For a production-ready version see the book Django for Professionals. ?? Features Django 3.1 & Python 3.8

William Vincent 1.5k Jan 8, 2023