This is a repository for collecting global custom management extensions for the Django Framework.

Overview

Django Extensions

Build Status Latest PyPI version Supports Wheel format Coverage

Django Extensions is a collection of custom extensions for the Django Framework.

Getting Started

The easiest way to figure out what Django Extensions are all about is to watch the excellent screencast by Eric Holscher (watch the video on vimeo). In a couple minutes Eric walks you through a half a dozen command extensions. There is also a short screencast on GoDjango's Youtube Channel to help show you even more.

Requirements

Django Extensions requires Django 2.2 or later.

Getting It

You can get Django Extensions by using pip:

$ pip install django-extensions

If you want to install it from source, grab the git repository from GitHub and run setup.py:

$ git clone git://github.com/django-extensions/django-extensions.git
$ cd django-extensions
$ python setup.py install

Installing It

To enable django_extensions in your project you need to add it to INSTALLED_APPS in your projects settings.py file:

INSTALLED_APPS = (
    ...
    'django_extensions',
    ...
)

Using It

Generate (and view) a graphviz graph of app models:

$ python manage.py graph_models -a -o myapp_models.png

Produce a tab-separated list of (url_pattern, view_function, name) tuples for a project:

$ python manage.py show_urls

Check templates for rendering errors:

$ python manage.py validate_templates

Run the enhanced django shell:

$ python manage.py shell_plus

Run the enhanced django runserver, (requires Werkzeug install):

$ python manage.py runserver_plus

Getting Involved

Open Source projects can always use more help. Fixing a problem, documenting a feature, adding translation in your language. If you have some time to spare and like to help us, here are the places to do so:

Documentation

You can view documentation online at:

Or you can look at the docs/ directory in the repository.

Support

Django Extensions is free and always will be. It is development and maintained by developers in an Open Source manner. Any support is welcome. You could help by writing documentation, pull-requests, report issues and/or translations.

Please remember that nobody is paid directly to develop or maintain Django Extensions so we do have to divide our time between putting food on the table, family, this project and the rest of life :-)

Issues
  • Display correct error message for missing imports

    Display correct error message for missing imports

    When a missing import is found in a script, this changes the error message displayed to indicate that there's a missing import, rather than giving a generic error message similar to the one raised when the script does not exist

    For a case such as this: test_script.py

    import nonexistrentpackage
    
    def run():
        print("Test")
    

    The error message raised previously was:

    No (valid) module for script 'test_script' found
    Try running with a higher verbosity level like: -v2 or -v3
    

    This changes the error to be more descriptive, without requiring the user to change the default verbosity mode, i.e.

    Cannot import module 'scripts.test_script': No module named nonexistent.
    No (valid) module for script 'test_script' found
    Try running with a higher verbosity level like: -v2 or -v3
    
    opened by kevgathuku 35
  • Migrations error

    Migrations error

    After the update from 1.5.5 to 1.5.6 this error happens whenever I run makemigrations. Apparently the django can't handle the timefield changes. Btw, we're talking 1.7.* I did not try 1.8.*

    Traceback (most recent call last):
      File "./manage.py", line 11, in <module>
        execute_from_command_line(sys.argv)
      File "env/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
        utility.execute()
      File "env/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "env/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
        self.execute(*args, **options.__dict__)
      File "env/lib/python2.7/site-packages/raven/contrib/django/management/__init__.py", line 41, in new_execute
        return original_func(self, *args, **kwargs)
      File "env/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
        output = self.handle(*args, **options)
      File "env/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 124, in handle
        self.write_migration_files(changes)
      File "/env/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 152, in write_migration_files
        migration_string = writer.as_string()
      File "env/lib/python2.7/site-packages/django/db/migrations/writer.py", line 131, in as_string
        operation_string, operation_imports = OperationWriter(operation).serialize()
      File "env/lib/python2.7/site-packages/django/db/migrations/writer.py", line 88, in serialize
        arg_string, arg_imports = MigrationWriter.serialize(arg_value)
      File "env/lib/python2.7/site-packages/django/db/migrations/writer.py", line 333, in serialize
        return cls.serialize_deconstructed(path, args, kwargs)
      File "env/lib/python2.7/site-packages/django/db/migrations/writer.py", line 239, in serialize_deconstructed
        arg_string, arg_imports = cls.serialize(arg)
      File "env/lib/python2.7/site-packages/django/db/migrations/writer.py", line 409, in serialize
        "topics/migrations/#migration-serializing" % value
    ValueError: Cannot serialize: <class django.db.models.fields.NOT_PROVIDED at 0x105702050>
    There are some values Django cannot serialize into migration files.
    For more, see https://docs.djangoproject.com/en/dev/topics/migrations/#migration-serializing
    
    opened by codingjoe 32
  • Fix #1011 AutoSlugField for foreignkey relationships

    Fix #1011 AutoSlugField for foreignkey relationships

    Fixes #1011

    This PR allows the user to span ForeignKey relationships with AutoSlugField's populate_from argument. It also allows the user use model methods in the populate_from argument.

    @trbs please let me know any feedback or suggestions? Thanks again for your work on this library, and for considering this PR!

    opened by YPCrumble 23
  • Adding list_fields command

    Adding list_fields command

    When working on projects with complex relations it can get confusing to remember how to refer to these relationships in queries. Additionally, sometimes it's annoying to dig through the models.py to find the field name of a particular field. The 'list_fields' command lists out all fields for each model within each installed app.

    improvement need test case 
    opened by OmenApps 22
  • AutoSlugField: fix allow_duplicates

    AutoSlugField: fix allow_duplicates

    Resolves #801

    The issue is that if allow_duplicates is True, create_slug will return the slug directly without setting the attribute (field name) on the model instance. find_unique takes care of this in case allow_duplicates is False or not set.

    opened by beshrkayali 21
  • shell_plus --notebook not working in 1.7

    shell_plus --notebook not working in 1.7

    from docs looks like there's a new setup() method.

    ---------------------------------------------------------------------------
    AppRegistryNotReady                       Traceback (most recent call last)
    <ipython-input-1-7474fc4fe95e> in <module>()
          [CODE ACCESSING MODELS VIA DJANGO ORM]
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\manager.pyc in manager_method(self, *args, **kwargs)
         90         def create_method(name, method):
         91             def manager_method(self, *args, **kwargs):
    ---> 92                 return getattr(self.get_queryset(), name)(*args, **kwargs)
         93             manager_method.__name__ = method.__name__
         94             manager_method.__doc__ = method.__doc__
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\query.pyc in filter(self, *args, **kwargs)
        687         set.
        688         """
    --> 689         return self._filter_or_exclude(False, *args, **kwargs)
        690 
        691     def exclude(self, *args, **kwargs):
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\query.pyc in _filter_or_exclude(self, negate, *args, **kwargs)
        705             clone.query.add_q(~Q(*args, **kwargs))
        706         else:
    --> 707             clone.query.add_q(Q(*args, **kwargs))
        708         return clone
        709 
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\sql\query.pyc in add_q(self, q_object)
       1285         existing_inner = set(
       1286             (a for a in self.alias_map if self.alias_map[a].join_type == self.INNER))
    -> 1287         clause, require_inner = self._add_q(where_part, self.used_aliases)
       1288         self.where.add(clause, AND)
       1289         for hp in having_parts:
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\sql\query.pyc in _add_q(self, q_object, used_aliases, branch_negated, current_negated)
       1312                 child_clause, needed_inner = self.build_filter(
       1313                     child, can_reuse=used_aliases, branch_negated=branch_negated,
    -> 1314                     current_negated=current_negated, connector=connector)
       1315                 joinpromoter.add_votes(needed_inner)
       1316             target_clause.add(child_clause, connector)
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\sql\query.pyc in build_filter(self, filter_expr, branch_negated, current_negated, can_reuse, connector)
       1136         if not arg:
       1137             raise FieldError("Cannot parse keyword query %r" % arg)
    -> 1138         lookups, parts, reffed_aggregate = self.solve_lookup_type(arg)
       1139 
       1140         # Work out the lookup type and remove it from the end of 'parts',
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\sql\query.pyc in solve_lookup_type(self, lookup)
       1074             if aggregate:
       1075                 return aggregate_lookups, (), aggregate
    -> 1076         _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
       1077         field_parts = lookup_splitted[0:len(lookup_splitted) - len(lookup_parts)]
       1078         if len(lookup_parts) == 0:
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\sql\query.pyc in names_to_path(self, names, opts, allow_many, fail_on_missing)
       1337                 name = opts.pk.name
       1338             try:
    -> 1339                 field, model, direct, m2m = opts.get_field_by_name(name)
       1340             except FieldDoesNotExist:
       1341                 # We didn't found the current field, so move position back
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\options.pyc in get_field_by_name(self, name)
        414                 return self._name_map[name]
        415             except AttributeError:
    --> 416                 cache = self.init_name_map()
        417                 return cache[name]
        418         except KeyError:
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\options.pyc in init_name_map(self)
        443         # We intentionally handle related m2m objects first so that symmetrical
        444         # m2m accessor names can be overridden, if necessary.
    --> 445         for f, model in self.get_all_related_m2m_objects_with_model():
        446             cache[f.field.related_query_name()] = (f, model, False, True)
        447         for f, model in self.get_all_related_objects_with_model():
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\options.pyc in get_all_related_m2m_objects_with_model(self)
        559             cache = self._related_many_to_many_cache
        560         except AttributeError:
    --> 561             cache = self._fill_related_many_to_many_cache()
        562         return list(six.iteritems(cache))
        563 
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\db\models\options.pyc in _fill_related_many_to_many_cache(self)
        573                 else:
        574                     cache[obj] = model
    --> 575         for klass in self.apps.get_models():
        576             if not klass._meta.swapped:
        577                 for f in klass._meta.local_many_to_many:
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\utils\lru_cache.pyc in wrapper(*args, **kwds)
         99                         stats[HITS] += 1
        100                         return result
    --> 101                     result = user_function(*args, **kwds)
        102                     cache[key] = result
        103                     stats[MISSES] += 1
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\apps\registry.pyc in get_models(self, app_mod, include_auto_created, include_deferred, include_swapped)
        166         Set the corresponding keyword argument to True to include such models.
        167         """
    --> 168         self.check_models_ready()
        169         if app_mod:
        170             warnings.warn(
    
    C:\Python\lib\site-packages\django-1.7c1-py2.7.egg\django\apps\registry.pyc in check_models_ready(self)
        129         """
        130         if not self.models_ready:
    --> 131             raise AppRegistryNotReady("Models aren't loaded yet.")
        132 
        133     def get_app_configs(self):
    
    AppRegistryNotReady: Models aren't loaded yet.
    
    opened by jonathanstrong 20
  • Python 3 and Django 1.5 support

    Python 3 and Django 1.5 support

    Pull request for #288

    I've added Python 3 support using six, which I added to install_requires.

    I couldn't find any information about the supported python versions of django-extensions, but if 2.6 is required at least (there are no entries with a version < 2.6 in tox.ini), then we could remove utils/uuid.py

    opened by fhahn 20
  • RandomCharField - Prepopulates random character string.

    RandomCharField - Prepopulates random character string.

    Hello,

    I added support for a random character field. Its purpose is to create an unique id unrelated to the database id to prevent site walking and sequential attacks on something like a unsubscribe link. A sample use case would be a link shortening service like bit.ly, http://bit.ly/1AbL4UC.

    Non-Breaking changes:

    • Factored out query logic to ensure uniqueness to BaseUniqueField.
    • The field value factories have been moved to generators.
    • Added mock as a test requirement.

    Possibly breaking change:

    • The slug field check will only be tried 100 times. Previously there was no limit. That was done because the field value factories have been moved to a generators.

    Please let me know your comments and feedback. I enjoyed working on this code very much!

    opened by dpetzold 19
  • 1.6.0 breaks JSONField

    1.6.0 breaks JSONField

    Hey there, I'm getting test failures when using Django-extensions 1.6.0. The only thing we use from Django-extensions is the JSONField, and using 1.6.0 over 1.5.9 gets some strange JSON errors: ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1).

    I've done some digging and it seems that it's trying to decode the str() representation of a dict, rather than the JSON representation, so I'm guessing there is some issue with serializing dictionaries into the JSONField where only str(), not json.dumps(), is being called.

    opened by orf 18
  • shell_plus --notebook gives bad configuration error

    shell_plus --notebook gives bad configuration error

    I am getting the following error when trying to use shell_plus --notebook:

    [C 04:28:24.002 NotebookApp] Bad config encountered during initialization: [C 04:28:24.003 NotebookApp] Unrecognized flag: '--ext'

    This is my pip environment: backports.ssl-match-hostname==3.4.0.2 certifi==14.5.14 Django==1.7.4 django-account==0.1.14 django-appconf==1.0.1 django-bootstrap-form==3.1 django-debug-toolbar==1.2.2 django-extensions==1.5.0 django-jsonfield==0.9.13 django-registration==1.0 django-suit==0.2.12 django-urlauth==0.1.8 django-user-accounts==1.0.1 djangorestframework==3.0.5 docutils==0.12 eventlog==0.10.0 gnureadline==6.3.3 ipython==3.0.0 Jinja2==2.7.3 jsonschema==2.4.0 MarkupSafe==0.23 metron==1.3.5 mistune==0.5 MySQL-python==1.2.5 nose==1.3.4 numpydoc==0.5 pinax-theme-bootstrap==5.7.1 psycopg2==2.6 ptyprocess==0.4 Pygments==2.0.2 pytz==2014.10 PyYAML==3.11 pyzmq==14.5.0 requests==2.5.3 sh==1.11 simplejson==3.6.5 six==1.9.0 Sphinx==1.2.3 sqlparse==0.1.14 terminado==0.5 tornado==4.1

    bug need patch 
    opened by kutenai 18
  • put the output of show_urls in columns

    put the output of show_urls in columns

    I find the output of show_urls hard to read, so I wrote a simple script to format the output (screenshot).

    It would be nice if this feature were integrated. show_urls could have an option to put the output in columns.

    opened by jabbalaci 18
  • runserver_plus does not work with werkzeug 2.1.0

    runserver_plus does not work with werkzeug 2.1.0

    Werkzeug just released version 2.1.0 on March 28, 2022 (4-5 hours ago as of writing this). When using runserver_plus with that version of werkzeug, the development server cannot be started.

    As part of werkzeug 2.1.0, some previously deprecated code was removed, including werkzeug.server.shutdown From the werkzeug release notes: "Remove the non-standard shutdown function from the WSGI environ when running the development server. See the docs for alternatives."

    In django-extensions runserver_plus.py - line 326 we have this: del environ['werkzeug.server.shutdown'] which results in a KeyError since shutdown was removed

    Rolling back to werkzeug <2.1 (2.0.3) resolves the issue.

    This is the first time I've looked into code for runserver_plus -- but would be happy to provide a PR if anyone with more familiarity can provide some rough guidance.

    Also, while making this change, perhaps the preceding line is from runserver_plus (if not options['keep_meta_shutdown_func']:) is also no longer needed as well...?

    opened by hamblin 4
  • AutoSlugField doesn't handle nullable foreign keys

    AutoSlugField doesn't handle nullable foreign keys

    I'm trying to use AutoSlugField for a model that has a nullable ForeignKey as one of its identifiers, so I included the foreign key's slug as one of the populate_from values in my AutoSlugField:

        git_repository = models.ForeignKey(
            to="extras.GitRepository",
            blank=True,
            null=True,
            default=None,
            on_delete=models.SET_NULL,
            db_index=True,
            related_name="jobs",
            help_text="Git repository that provides this job",
        )
    
        slug = AutoSlugField(
            populate_from=["source", "git_repository__slug", "module_name", "job_class_name"],
        )
    

    Unfortunately, when the foreign key is null, django-extensions throws an exception on save:

      File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 754, in save
        force_update=force_update, update_fields=update_fields)
      File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 792, in save_base
        force_update, using, update_fields,
      File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 895, in _save_table
        results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)
      File "/usr/local/lib/python3.6/site-packages/django/db/models/base.py", line 935, in _do_insert
        using=using, raw=raw,
      File "/usr/local/lib/python3.6/site-packages/django/db/models/manager.py", line 85, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 1254, in _insert
        return query.get_compiler(using=using).execute_sql(returning_fields)
      File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1396, in execute_sql
        for sql, params in self.as_sql():
      File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1341, in as_sql
        for obj in self.query.objs
      File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1341, in <listcomp>
        for obj in self.query.objs
      File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1340, in <listcomp>
        [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
      File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1291, in pre_save_val
        return field.pre_save(obj, add=True)
      File "/usr/local/lib/python3.6/site-packages/django_extensions/db/fields/__init__.py", line 274, in pre_save
        value = force_str(self.create_slug(model_instance, add))
      File "/usr/local/lib/python3.6/site-packages/django_extensions/db/fields/__init__.py", line 235, in create_slug
        slug = self.separator.join(map(slug_for_field, populate_from))
      File "/usr/local/lib/python3.6/site-packages/django_extensions/db/fields/__init__.py", line 232, in <lambda>
        self.get_slug_fields(model_instance, lookup_value),
      File "/usr/local/lib/python3.6/site-packages/django_extensions/db/fields/__init__.py", line 266, in get_slug_fields
        elem, lookup_value, attr, elem))
    AttributeError: value slug in AutoSlugField's 'populate_from' argument git_repository__slug returned an error - None has no attribute slug
    

    I was hoping that AutoSlugField would be "smart" enough to just skip over a nullable foreign key, much as it might do if a populate_from field were blank or empty.

    opened by glennmatthews 0
  • feature request:  add a

    feature request: add a "make-data-migration" command

    Let's see if I can get to this, but in case someone else wants.

    I'd love to have a "make_data_migration" command that would create an empty migration, but add the following "stuff" to the generated file (which I can never remember).

    from django.db import migrations
    
    # template function - new
    def make_data_change(app_name, schema_editor):
        SomeModelClass = apps.get_model('yourappname', 'ModelClassName'')
        
        # do migration work here, using SomeModelClass
    
    class Migration(migrations.Migration):
    
        dependencies = [
            ('yourappname', '0001_initial'),
        ]
    
        operations = [
            # add the function call here
            migrations.RunPython(make_data_change),
        ]
    

    for double bonus points, add the structure for the backout work

    opened by ccurvey 0
  • graph_models doesn't use the `layout` parameter while rendered with `pydot`

    graph_models doesn't use the `layout` parameter while rendered with `pydot`

    The problem

    If you render a model with pydot, the parameter --layout or -l is not used, silently. You can pass whatever you want as a layout, but not only this won't make any difference, it won't raise any warning either.

    How to reproduce

    One can render a model with pydot:

    python manage.py graph_models -a --layout NONSENSE  -o output.svg
    

    As you may see, the code works even though the layout is not from the list [circo, dot, fdp, neato, nop, nop1, nop2, twopi].

    Code link

    In pygraphviz the layout argument is used explicitly (see graph_models.py):

        def render_output_pygraphviz(self, dotdata, **kwargs):
            """Render model data as image using pygraphviz."""
            
            # some code 
           
            graph = pygraphviz.AGraph(dotdata)
            graph.layout(prog=kwargs['layout'])
            graph.draw(kwargs['outputfile'])
    
        def render_output_pydot(self, dotdata, **kwargs):
            """Render model data as image using pydot."""
            if not HAS_PYDOT:
                raise CommandError("You need to install pydot python module")
    
            graph = pydot.graph_from_dot_data(dotdata)
    

    Possible solution

    It would be really helpful if at least a warning is raised in case of pydot. Otherwise a user can waste an hour comparing outputs, searching for [nonexistent] differences and trying to make the extension working "properly". Maybe there is a way for using the layout properly with pydot which would be even better.

    This issue might be related to #1429.

    opened by kirienko 0
Releases(3.1.5)
  • 3.1.5(Nov 7, 2021)

  • 3.1.4(Nov 7, 2021)

    What's Changed

    • Fix name of mixin in docs by @ryanwilsonperkin in https://github.com/django-extensions/django-extensions/pull/1661
    • Fix django.contrib.sites detection in set_default_site command when using AppConfig by @azaghal in https://github.com/django-extensions/django-extensions/pull/1662
    • fix typo by @bragboy in https://github.com/django-extensions/django-extensions/pull/1667
    • Add --rankdir to graph_models by @ppolewicz in https://github.com/django-extensions/django-extensions/pull/1580
    • Add support for Python 3.10 by @joshuadavidthomas in https://github.com/django-extensions/django-extensions/pull/1684
    • Add --sql-truncate cli modifier by @niccolomineo in https://github.com/django-extensions/django-extensions/pull/1687

    New Contributors

    • @ryanwilsonperkin made their first contribution in https://github.com/django-extensions/django-extensions/pull/1661
    • @azaghal made their first contribution in https://github.com/django-extensions/django-extensions/pull/1662
    • @bragboy made their first contribution in https://github.com/django-extensions/django-extensions/pull/1667
    • @ppolewicz made their first contribution in https://github.com/django-extensions/django-extensions/pull/1580
    • @joshuadavidthomas made their first contribution in https://github.com/django-extensions/django-extensions/pull/1684
    • @niccolomineo made their first contribution in https://github.com/django-extensions/django-extensions/pull/1687

    Full Changelog: https://github.com/django-extensions/django-extensions/compare/3.1.3...3.1.4

    Source code(tar.gz)
    Source code(zip)
Django-Audiofield is a simple app that allows Audio files upload, management and conversion to different audio format (mp3, wav & ogg), which also makes it easy to play audio files into your Django application.

Django-Audiofield Description: Django Audio Management Tools Maintainer: Areski Contributors: list of contributors Django-Audiofield is a simple app t

Areski Belaid 162 Apr 4, 2022
django Filer is a file management application for django that makes handling of files and images a breeze.

django Filer is a file management application for django that makes handling of files and images a breeze.

django CMS Association 1.5k Apr 6, 2022
This repository contains django library management system project.

Library Management System Django ** INSTALLATION** First of all install python on your system. Then run pip install -r requirements.txt to required se

whoisdinanath 1 Jan 10, 2022
django-dashing is a customisable, modular dashboard application framework for Django to visualize interesting data about your project. Inspired in the dashboard framework Dashing

django-dashing django-dashing is a customisable, modular dashboard application framework for Django to visualize interesting data about your project.

talPor Solutions 687 Mar 29, 2022
Drf-stripe-subscription - An out-of-box Django REST framework solution for payment and subscription management using Stripe

Drf-stripe-subscription - An out-of-box Django REST framework solution for payment and subscription management using Stripe

Oscar Y Chen 34 Mar 16, 2022
Django URL Shortener is a Django app to to include URL Shortening feature in your Django Project

Django URL Shortener Django URL Shortener is a Django app to to include URL Shortening feature in your Django Project Install this package to your Dja

Rishav Sinha 4 Nov 18, 2021
Custom Django field for using enumerations of named constants

django-enumfield Provides an enumeration Django model field (using IntegerField) with reusable enums and transition validation. Installation Currently

5 Monkeys 187 Apr 1, 2022
This Django app will be used to host Source.Python plugins, sub-plugins, and custom packages.

Source.Python Project Manager This Django app will be used to host Source.Python plugins, sub-plugins, and custom packages. Want to help develop this

null 1 Dec 20, 2021
django-reversion is an extension to the Django web framework that provides version control for model instances.

django-reversion django-reversion is an extension to the Django web framework that provides version control for model instances. Requirements Python 3

Dave Hall 2.7k Mar 28, 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 Feldroy 9.2k Apr 6, 2022
A handy tool for generating Django-based backend projects without coding. On the other hand, it is a code generator of the Django framework.

Django Sage Painless The django-sage-painless is a valuable package based on Django Web Framework & Django Rest Framework for high-level and rapid web

sageteam 48 Mar 25, 2022
APIs for a Chat app. Written with Django Rest framework and Django channels.

ChatAPI APIs for a Chat app. Written with Django Rest framework and Django channels. The documentation for the http end points can be found here This

Victor Aderibigbe 10 Apr 1, 2022
Bringing together django, django rest framework, and htmx

This is Just an Idea There is no code, this README just represents an idea for a minimal library that, as of now, does not exist. django-htmx-rest A l

Jack DeVries 2 Feb 11, 2022
DRF_commands is a Django package that helps you to create django rest framework endpoints faster using manage.py.

DRF_commands is a Django package that helps you to create django rest framework endpoints faster using manage.py.

Mokrani Yacine 1 Nov 11, 2021
RestApi With Django 3.2 And Django Rest Framework

RestApi-With-Django-3.2-And-Django-Rest-Framework Description This repository is a Software of Development with Python. Virtual Using pipenv, virtuale

Daniel Arturo Alejo Alvarez 5 Mar 9, 2022
Django API without Django REST framework.

Django API without DRF This is a API project made with Django, and without Django REST framework. This project was done with: Python 3.9.8 Django 3.2.

Regis Santos 3 Jan 19, 2022
Django-static-site - A simple content site framework that harnesses the power of Django without the hassle

coltrane A simple content site framework that harnesses the power of Django with

Adam Hill 33 Mar 29, 2022
A starter template for building a backend with Django and django-rest-framework using docker with PostgreSQL as the primary DB.

Django-Rest-Template! This is a basic starter template for a backend project with Django as the server and PostgreSQL as the database. About the templ

Akshat Sharma 6 Mar 19, 2022
Django-discord-bot - Framework for creating Discord bots using Django

django-discord-bot Framework for creating Discord bots using Django Uses ASGI fo

Jamie Bliss 1 Mar 4, 2022