Use Django Models in any Python Web Framework
Project description
# DJ Models
Use the Django ORM in any Python web framework.
## Install
pip3 install djmodels
## Getting Started
Create an app directory for your models and settings (DB connection details).
mkdir app
touch app/{__init__.py,models.py,settings.py}
Add your database settings to the settings module. See Django's docs on this for more info.
```python
SECRET_KEY = '<ACTUAL SECRET KEY>'
DATABASES = {
'default': {
'ENGINE': 'djmodels.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'mysecretpassword',
'HOST': '0.0.0.0',
'PORT': '5432',
}
}
INSTALLED_APPS = ['app']
```
Add a model to `app/models.py`
```python
from djmodels.db import models
class Person(models.Model):
name = models.CharField()
age = models.PositiveIntegerField()
```
Export your settings module
export DJANGO_SETTINGS_MODULE=app.settings
Create migrations
$ djmodels-admin makemigrations app
# Migrations for 'app':
# - Create model Person
Run Migrate
$ djmodels-admin migrate app
# Operations to perform:
# Apply all migrations: app
# Running migrations:
# Applying app.0001_initial... OK
Import the model into any webframework and make queries. For example, Flask.
```python
from flask import Flask
from app.models import Person
app = Flask(__name__)
@app.route("/person/")
def get_random_person():
person = Person.objects.order_by('?').first()
return '{}'.format(person.name)
```
## Bugs
- Migration files are currently being saved to a directory that is relative to the library itself rather than locally in main app/project directory.
## LICENSE
MIT
Use the Django ORM in any Python web framework.
## Install
pip3 install djmodels
## Getting Started
Create an app directory for your models and settings (DB connection details).
mkdir app
touch app/{__init__.py,models.py,settings.py}
Add your database settings to the settings module. See Django's docs on this for more info.
```python
SECRET_KEY = '<ACTUAL SECRET KEY>'
DATABASES = {
'default': {
'ENGINE': 'djmodels.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'mysecretpassword',
'HOST': '0.0.0.0',
'PORT': '5432',
}
}
INSTALLED_APPS = ['app']
```
Add a model to `app/models.py`
```python
from djmodels.db import models
class Person(models.Model):
name = models.CharField()
age = models.PositiveIntegerField()
```
Export your settings module
export DJANGO_SETTINGS_MODULE=app.settings
Create migrations
$ djmodels-admin makemigrations app
# Migrations for 'app':
# - Create model Person
Run Migrate
$ djmodels-admin migrate app
# Operations to perform:
# Apply all migrations: app
# Running migrations:
# Applying app.0001_initial... OK
Import the model into any webframework and make queries. For example, Flask.
```python
from flask import Flask
from app.models import Person
app = Flask(__name__)
@app.route("/person/")
def get_random_person():
person = Person.objects.order_by('?').first()
return '{}'.format(person.name)
```
## Bugs
- Migration files are currently being saved to a directory that is relative to the library itself rather than locally in main app/project directory.
## LICENSE
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file DJModels-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: DJModels-0.0.1-py3-none-any.whl
- Upload date:
- Size: 3.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e2a1856d1b2e88eb08ffea80750e569e11dd1dceb944504b56e6e2e3eebf87e |
|
MD5 | 90300b6126d64a29c2c78d0885fadd86 |
|
BLAKE2b-256 | 12a3af03167cbb41206d8be1cac57a8676886c7dadee0bba36f85126aec5a792 |