django-rework 0.6.1

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangorework 0.6.1

Django Rework





Rapid develop framework base on Django, with non-verbose Django development experience.
Installation & Cli commands
Requirements

Python >= 3.8
Django >= 3.2
Django REST framework >=3.13,<4.0

Install django-rework
pip install django-rework

Generic CLI Commands
Start a new project
# It will create project in current dir
# eg: initialize a new project named `pony`
rework init pony

Add build-in contrib Apps
rework add users

Add deployment configurations
rework deploy --init

Deploy to test or production
rework deploy # or 'fab -H web1 deploy'

Core docs
Custom exceptions
The exception handler must also be configured in your settings, using the EXCEPTION_HANDLER setting key. For example:
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'rework.core.views.exception_handler'
}

Use build-in custom exceptions:
from rework.core.exceptions import ValidateError
ValidateError(
detail='You do not have permission to perform this action.',
code='permission_denied',
)

🥭 Build-in custom exceptions
App docs



App
Description
docs in English
简体中文文档




users
Users system
users.md
users_cn.md



DevOps Fabric scripts
Setup hosts
django-rework deal with DevOps using Fabric. You should add hosts configurations in fabfile.py.
import os
from rework.core.devops.hosts import loads

# The first argument `default` is host alias
# `user` is optional, default value is `root`
# `envs` is the server support deploy environments
# `exclude_components` is optional, it's been used in `fab setup_server`
loads(
'default', {
'host': 'your-server-ip',
'port': 22,
'user': 'root',
'connect_kwargs': {
'password': 'server-password',
},
'envs': ['test', 'prod'],
'exclude_components': ['redis'],
}
)

# Using SSH key
loads(
'web1', {
'host': 'your-server-ip',
'connect_kwargs': {
'key_filename': os.path.join(os.path.abspath('.'), '.deploy/private.pem'),
},
}
)

You can change host alias as you like: web1 etc.
fab -H web1 deploy

if not -H provided, the default alias will use according the order below:

environment name: dev, test, prod
default

Deploy environments
By default, environments is dev, test, prod, every environment name is a generic fabric tasks.
# deploy to `test` environment
fab test deploy

If you want to update requirements, you should add arguments -r or --requirements_update
fab test deploy -r

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.