Skip to content

Instantly share code, notes, and snippets.

@ChaosJohn

ChaosJohn/__init__py

Forked from seanbehan/app.py
Last active Jan 4, 2021
Embed
What would you like to do?
Flask with Django ORM
"""
Located under app/
"""
import os
from django.apps import apps
from django.conf import settings
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
apps.populate(settings.INSTALLED_APPS)
#!/usr/bin/env python
import os, sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
from django.db import models
from django.contrib.postgres.fields import JSONField
class BaseModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
def attributes(self):
return self.__dict__
class Meta:
abstract = True
class Hit(BaseModel):
data = JSONField(null=True)
"""
Run the following commands (bc. gists don't allow directories)
pip install flask django dj-database-url psycopg2-binary
mkdir -p app/migrations
touch app/migrations/__init__.py
mv models.py app/
mv __init_.py app/
python manage.py makemigrations
python manage.py migrate
python server.py
visit http://localhost:5000
See https://docs.djangoproject.com/en/1.11/topics/settings/#either-configure-or-django-settings-module-is-required for
documentation
"""
from flask import Flask
from app.models import Hit
app = Flask(__name__)
@app.route('/')
def index():
Hit.objects.create(data='{}')
return str(Hit.objects.count())
if __name__=='__main__':
app.run(debug=True)
import dj_database_url
DATABASES = { 'default': dj_database_url.config(default='postgres://localhost/py_example_app') }
INSTALLED_APPS = ( 'app', )
SECRET_KEY = 'REPLACE_ME'
@ChaosJohn

This comment has been minimized.

Copy link
Owner Author

@ChaosJohn ChaosJohn commented Jul 24, 2020

Forked from seanbehan/app.py. (Thank seanbehan for the solution. @seanbehan)
Move initialization code for DjangoORM from main file to app/__init__.py

@avrahamkam

This comment has been minimized.

Copy link

@avrahamkam avrahamkam commented Oct 27, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment