This package provides some shortcuts for your django app.
pip install djgo
djgo has shortcuts for different parts of the app.
To use it, simply import it with import djgo.
Method start_django() (or manage()) is a shortcut for launching Django.
Method set_wsgi() is a shortcut that sets Django settings env variable and returns default wsgi application.
Method load_app() is a shortcut that loads and returns an app module or its part.
Method app_config() is a shortcut that sets Django app config. Example:
from djpp import app_config
default_app_config = app_config(verbose_name='My Cool App')
Decorator @meta is a shortcut that sets meta and __str__() for your model.
WARNING: All meta defined this way won't register in migrations.
Example:
@meta(single='My Client', plural='My Clients', display='name')
class Client(models.Model):
name = models.CharField()
is equal to
class Client(models.Model):
name = models.CharField()
class Meta:
verbose_name = 'My Client'
verbose_name_plural = 'My Clients'
def \_\_str\_\_():
return self.name
except the meta (name and verbose_name) won't register in migrations.
You can also pass functions to display:
@meta('My Client', display=lambda self: 'Cool ' + str(self.name))
class Client(models.Model):
name = models.CharField()
is equal to
class Client(models.Model):
name = models.CharField()
class Meta:
name = 'My Client'
verbose_name = 'My Client'
def \_\_str\_\_():
return 'Cool ' + str(self.name)
except the meta (name and verbose_name) won't register in migrations.
djgo has a small set of methods for admin site and admin.py file:
admin.urlsis a shortcut forpath('url', admin.site.urls), except adds '/' in the end of your url string if it doesn't have one.admin.metais a shortcut for settingadmin.site.site_headerandadmin.site.site_title.admin.clear_modelsis a shortcut for clearing models from admin site registry.admin.quick_inlineis a decorator for setting some tabular inline params.
You can also access settings through djgo with djgo.settings!
Lastly, djgo provides a small log() method for printing some info.