Built from scratch to replicate some of the Django admin functionality and add some more, to serve as an introspective interface for Django and Mongo.

Overview

django-mongonaut

Info: An introspective interface for Django and MongoDB.
Version: 0.2.21
Maintainer: Jazzband (jazzband.co)
Build Status Code Climate Jazzband

This Project is Being Moved to Jazzband

In late 2015 @garrypolley and I agreed to move this project to the @jazzband organization. Since we've both been off MongoDB for several years, maintaining this project ourselves no longer makes sense. By handing this to Jazzband, we are:

  1. Putting the project in a place where it will be maintained and extended.
  2. Removes the time and effort needed to continue to accept and manage pull requests for a project we no longer wish to maintain but has a somewhat active user base.

About

django-mongonaut is an introspective interface for working with MongoDB via mongoengine. Rather then attempt to staple this functionality into Django's Admin interface, django-mongonaut takes the approach of rolling a new framework from scratch.

By writing it from scratch I get to avoid trying to staple ORM functionality on top of MongoDB, a NoSQL key/value binary-tree store.

Features

Installation

Made as easy as possible, setup is actually easier than django.contrib.admin. Furthermore, the only dependencies are mongoengine and pymongo. Eventually django-mongonaut will be able to support installations without mongoengine.

Get MongoDB:

Download the right version per http://www.mongodb.org/downloads

Get Django Mongonaut (and mongoengine + pymongo):

pip install -U django-mongonaut

Install the dependency in your settings.py:

INSTALLED_APPS = (
...
    'mongonaut',
...
)

You will need the following also set up:

  • django.contrib.sessions
  • django.contrib.messages

Note

No need for autodiscovery() with django-mongonaut!

Add the mongonaut urls.py file to your urlconf file:

from djanog import urls

urlpatterns = [
    ...
    url.path('mongonaut/', urls.include('mongonaut.urls')),
    ...
]

Configuration

django-mongonaut will let you duplicate much of what django.contrib.admin gives you, but in a way more suited for MongoDB. Still being implemented, but already works better than any other MongoDB solution for Django. A simple example:

# myapp/mongoadmin.py

# Import the MongoAdmin base class
from mongonaut.sites import MongoAdmin

# Import your custom models
from blog.models import Post

# Instantiate the MongoAdmin class
# Then attach the mongoadmin to your model
Post.mongoadmin = MongoAdmin()

Documentation

All the documentation for this project is hosted at https://django-mongonaut.readthedocs.io.

Dependencies

  • mongoengine >=0.5.2
  • pymongo (comes with mongoengine)
  • sphinx (optional - for documentation generation)

Code of Conduct

This project follows the Jazzband.co Code of Conduct.

Comments
  • MongoEngine's Django User Auth Model Not Supported

    MongoEngine's Django User Auth Model Not Supported

    Due to a limitation in MongoEngine, User objects stored in MongoEngine don't have a user_permissions field, which makes it impossible to log into mongonaut when using MongoEngine's user model replacement:

    INSTALLED_APPS = (
        ...
        'django.contrib.auth',
        'mongoengine.django.mongo_auth',
        ...
    )
    
    AUTH_USER_MODEL = 'mongo_auth.MongoUser'
    

    Admittedly, this is a bug in MongoEngine, but it'd be awesome to see a workaround in the meantime in mongonaut to enable users to log in until this is fixed upstream.

    A patch for this would consist of simply replacing the use of the permissions API with a check to user.is_staff and user.is_active.

    opened by naftulikay 17
  • request.user.is_active == false

    request.user.is_active == false

    When I do:

    class FooAdmin(MongoAdmin):
            def has_view_permission(self, request):
                    return request.user.is_authenticated and request.user.is_active
    

    The "request.user.is_authenticated" is true. But the "request.user.is_active" is false, which prevents me from accessing the admin site. Why my user is not active and how can I fix that, pydanny? Thanks.

    opened by halcightx 10
  • Remove deprecated django.utils.importlib and replace with importlib

    Remove deprecated django.utils.importlib and replace with importlib

    django.utils.importlib was removed in 1.9. Replaced with importlib. Noticed issue #85 references an error related to this. I don't know if you're still accepting pull requests for this...

    opened by alitinker 8
  • added '{% load url from future %}' in templates for backward compatibility

    added '{% load url from future %}' in templates for backward compatibility

    added '{% load url from future %}' in templates for backward compatibility with django 1.4 and before, for more info checkout django 1.5 changelog. Summarising the same: if you are not using {% load url from future %} in your templates, you’ll need to change tags like {% url myview %} to {% url "myview" %}. If you were using {% load url from future %} you can simply remove that line under Django 1.5

    opened by ragingneuron 8
  • TypeError: get_form() got an unexpected keyword argument 'form_class' with Django 1.8.2

    TypeError: get_form() got an unexpected keyword argument 'form_class' with Django 1.8.2

    I have installed the latest version of Mongonaut with Django 1.8.2. While I am able to login and view the data from my Mongo DB, I get the following error whenever I try to Add or Edit any data:

    TypeError: get_form() got an unexpected keyword argument 'form_class'

    This is the traceback. Any help would be appreciated!

    Traceback (most recent call last): File "/home/abc/workspace/3m/ve/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response response = wrapped_callback(request, _callback_args, *_callback_kwargs) File "/home/abc/workspace/3m/ve/local/lib/python2.7/site-packages/django/views/generic/base.py", line 71, in view return self.dispatch(request, _args, *_kwargs) File "/home/abc/workspace/3m/ve/local/lib/python2.7/site-packages/django/views/generic/base.py", line 89, in dispatch return handler(request, _args, *_kwargs) File "/home/abc/workspace/3m/ve/local/lib/python2.7/site-packages/django/views/generic/edit.py", line 206, in get form = self.get_form() File "/home/abc/workspace/3m/ve/local/lib/python2.7/site-packages/django/views/generic/edit.py", line 36, in get_form_with_form_class return get_form(self, form_class=form_class) TypeError: get_form() got an unexpected keyword argument 'form_class'

    opened by woostersoz 7
  • Patched for Python 3

    Patched for Python 3

    Added 2to3 to setup.py and did the simplest patch possible for the updated ImportError message in Python 3. Tests pass on Python 3.3, happy-testing the UI seems to work.

    opened by haard 7
  • Test harness

    Test harness

    as per issues #62 . This is the travis configuration and a VERY basic unit test configuration.

    I wanted to get some feedback before I went any further to ensure that it is inline with what you guys are looking for.

    A couple of points:

    • The view_tests.py is a sample of an integration test. It uses the blog example as the django app for the integration testing.
    • the sites_tests.py is just simple unit tests.
    • Everything is based on the standard unittest module.

    Let me know if this is more or less what you are looking for and I can try to add some more unit test as per #37. I think that it's best to let the test "framework" grow as more tests are added as opposed to try to come up with something that handles everything up front.

    Anyways let me know what you think and I can adjust as necessary.

    opened by j1z0 7
  • Any plans on upgrading for django 1.8.x?

    Any plans on upgrading for django 1.8.x?

    For Django 1.7, mongonaut works fine, however for 1.8.x it is not working specifically edit part. I noticed the dictionary field "_data" for the document only has key-value pair of "id" and all the other fields are missing.

    opened by foodaemon 6
  • changed MongoModelFormBaseMixin to inherit model's Meta class ordering

    changed MongoModelFormBaseMixin to inherit model's Meta class ordering

    The MongoModelFormBaseMixin form fields are not ordered from model_dict (based on Python's dictionary) and thus form fields are randomly rendered on view.

    Updated: in fact it is mongoengine has not preserved the form fields ordering (normally it's inherited by SortedDict/OrderedDict under metaclass __new__), so unless mongoengine has fixed this, we need a workaround to set fields ordering for the form (auto to sort by field names).

    opened by anzellai 6
  • Regex for <document_name> updated.

    Regex for updated.

    Regex for <document_name> in mongonaut's urls.py does not allow for dot (".") to be present in the name of the model. But MongoEngine gives names containing a dot when one model inherits after the other. For example, if a model inherits from "User" and it's named NewUser, then the whole name of the new model will be: User.NewUser. Mongonaut does not allow for those kind of names so I made a little change in the urls.py file.

    opened by lchsk 4
  • Support for apps in different folders

    Support for apps in different folders

    I have all my apps under apps/ folder. If I try to register MongoAdmin on a model from the app that has the following structure: project.apps.app.models it won't work. This change should fix this, and "app_label" should become the whole path to the app.

    opened by Manca 4
  • Bump pymongo from 2.1 to 2.5.2 in /examples/blog

    Bump pymongo from 2.1 to 2.5.2 in /examples/blog

    Bumps pymongo from 2.1 to 2.5.2.

    Release notes

    Sourced from pymongo's releases.

    PyMongo 3.12.0 - MongoDB 5.0 Support

    Release notes: https://developer.mongodb.com/community/forums/t/pymongo-3-12-0-released/115111/

    Changelog

    Sourced from pymongo's changelog.

    Changes in Version 2.5.2

    Version 2.5.2 fixes a NULL pointer dereference issue when decoding an invalid :class:~bson.dbref.DBRef.

    Issues Resolved ...............

    See the PyMongo 2.5.2 release notes in JIRA_ for the list of resolved issues in this release.

    .. _PyMongo 2.5.2 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=12581

    Changes in Version 2.5.1

    Version 2.5.1 is a minor release that fixes issues discovered after the release of 2.5. Most importantly, this release addresses some race conditions in replica set monitoring.

    Issues Resolved ...............

    See the PyMongo 2.5.1 release notes in JIRA_ for the list of resolved issues in this release.

    .. _PyMongo 2.5.1 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=12484

    Changes in Version 2.5

    Version 2.5 includes changes to support new features in MongoDB 2.4.

    Important new features:

    • Support for :ref:GSSAPI (Kerberos) authentication <gssapi>.
    • Support for SSL certificate validation with hostname matching.
    • Support for delegated and role based authentication.
    • New GEOSPHERE (2dsphere) and HASHED index constants.

    .. note:: :meth:~pymongo.database.Database.authenticate now raises a subclass of :class:~pymongo.errors.PyMongoError if authentication fails due to invalid credentials or configuration issues.

    Issues Resolved ...............

    See the PyMongo 2.5 release notes in JIRA_ for the list of resolved issues in this release.

    ... (truncated)

    Commits
    • 1c0596b BUMP 2.5.2
    • 94520a7 Changelog for 2.5.2.
    • 7395ce7 Fix import when _cbson unavailable PYTHON-532
    • a060c15 Fix null pointer when decoding invalid DBRef PYTHON-532
    • a9d1457 BUMP 2.5.1
    • 9d8e23c Changelog for 2.5.1
    • 897a4fc Merge pull request #182 from puentesarrin/typo_docstring
    • e1d71e8 Minor typo on bson/json_util docstring
    • 0308ce6 Merge pull request #181 from puentesarrin/typo_docstring
    • 1c14e21 Minor typo on docstring
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump django from 1.7.7 to 2.2.24 in /examples/blog_1_7

    Bump django from 1.7.7 to 2.2.24 in /examples/blog_1_7

    Bumps django from 1.7.7 to 2.2.24.

    Commits
    • 2da029d [2.2.x] Bumped version for 2.2.24 release.
    • f27c38a [2.2.x] Fixed CVE-2021-33571 -- Prevented leading zeros in IPv4 addresses.
    • 053cc95 [2.2.x] Fixed CVE-2021-33203 -- Fixed potential path-traversal via admindocs'...
    • 6229d87 [2.2.x] Confirmed release date for Django 2.2.24.
    • f163ad5 [2.2.x] Added stub release notes and date for Django 2.2.24.
    • bed1755 [2.2.x] Changed IRC references to Libera.Chat.
    • 63f0d7a [2.2.x] Refs #32718 -- Fixed file_storage.test_generate_filename and model_fi...
    • 5fe4970 [2.2.x] Post-release version bump.
    • 61f814f [2.2.x] Bumped version for 2.2.23 release.
    • b8ecb06 [2.2.x] Fixed #32718 -- Relaxed file name validation in FileField.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump django from 1.4 to 2.2.24 in /examples/blog

    Bump django from 1.4 to 2.2.24 in /examples/blog

    Bumps django from 1.4 to 2.2.24.

    Commits
    • 2da029d [2.2.x] Bumped version for 2.2.24 release.
    • f27c38a [2.2.x] Fixed CVE-2021-33571 -- Prevented leading zeros in IPv4 addresses.
    • 053cc95 [2.2.x] Fixed CVE-2021-33203 -- Fixed potential path-traversal via admindocs'...
    • 6229d87 [2.2.x] Confirmed release date for Django 2.2.24.
    • f163ad5 [2.2.x] Added stub release notes and date for Django 2.2.24.
    • bed1755 [2.2.x] Changed IRC references to Libera.Chat.
    • 63f0d7a [2.2.x] Refs #32718 -- Fixed file_storage.test_generate_filename and model_fi...
    • 5fe4970 [2.2.x] Post-release version bump.
    • 61f814f [2.2.x] Bumped version for 2.2.23 release.
    • b8ecb06 [2.2.x] Fixed #32718 -- Relaxed file name validation in FileField.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • the pypi package has two errors: urls.py and utils.py.  the errors have been fixed in the github.

    the pypi package has two errors: urls.py and utils.py. the errors have been fixed in the github.

    conda python2.7 enviroment django-mongonaut 0.2.21 pypi_0 pypi

    the package has two errors: urls.py and utils.py.

    (?P<app_label>[_\-\w\.]+)  # github right
    (?P<app_label>[_\-\w]+)    #   pypi  error
    

    and

    
    from mongoengine.base import ObjectIdField,ValidationError #  pypi error
    
    from mongoengine.errors import ValidationError  # github right
    from mongoengine.base import ObjectIdField    #   github right
    
    opened by autodataming 0
  • Is support django2.0?

    Is support django2.0?

    I found update this repository , but error occur to me .

    image

    error:

    Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x05C12780>
    Traceback (most recent call last):
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
        fn(*args, **kwargs)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run
        self.check(display_num_errors=True)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\core\management\base.py", line 379, in check
        include_deployment_checks=include_deployment_checks,
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\core\management\base.py", line 366, in _run_checks
        return checks.run_checks(**kwargs)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\core\checks\registry.py", line 71, in run_checks
        new_errors = check(app_configs=app_configs)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config
        return check_resolver(resolver)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver
        return check_method()
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\urls\resolvers.py", line 396, in check
        for pattern in self.url_patterns:
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\utils\functional.py", line 37, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\urls\resolvers.py", line 533, in url_patterns
        patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\utils\functional.py", line 37, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\urls\resolvers.py", line 526, in urlconf_module
        return import_module(self.urlconf_name)
      File "D:\CodePro\py_c\_Envs\dj2\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 678, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "G:\BaiduYunDownload\教程\django\Vue+Django REST framework 打造生鲜电商项目\book_serve\book_serve\urls.py", line 22, in <module>
        path('mongonaut/', include('mongonaut.urls')),
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\django\urls\conf.py", line 34, in include
        urlconf_module = import_module(urlconf_module)
      File "D:\CodePro\py_c\_Envs\dj2\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 678, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "D:\CodePro\py_c\_Envs\dj2\lib\site-packages\mongonaut\urls.py", line 1, in <module>
        from django.conf.urls import patterns, url
    ImportError: cannot import name 'patterns'
    

    modules version :

    Django              2.1.5
    django-mongonaut    0.2.21
    mongoengine         0.17.0
    
    opened by 625781186 4
  • Undefined name: field_key

    Undefined name: field_key

    field_key is an undefined name in this context:

    • https://github.com/jazzband/django-mongonaut/blob/master/mongonaut/forms/form_mixins.py#L160

    Should it be base_key instead?

    flake8 testing of https://github.com/jazzband/django-mongonaut on Python 3.7.1

    $ flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics

    ./mongonaut/forms/form_mixins.py:160:55: F821 undefined name 'field_key'
                            embedded_key_class = make_key(field_key, exclude_last_string=True)
                                                          ^
    ./tests/url_tests.py:47:30: E999 SyntaxError: invalid syntax
            except NoReverseMatch, e:
                                 ^
    1     E999 SyntaxError: invalid syntax
    1     F821 undefined name 'field_key'
    2
    
    opened by cclauss 1
Owner
Jazzband
We are all part of this
Jazzband
Add Chart.js visualizations to your Django admin using a mixin class

django-admincharts Add Chart.js visualizations to your Django admin using a mixin class. Example from django.contrib import admin from .models import

Dropseed 22 Nov 22, 2022
Serve files with Django.

django-downloadview django-downloadview makes it easy to serve files with Django: you manage files with Django (permissions, filters, generation, ...)

Jazzband 328 Dec 7, 2022
django-quill-editor makes Quill.js easy to use on Django Forms and admin sites

django-quill-editor django-quill-editor makes Quill.js easy to use on Django Forms and admin sites No configuration required for static files! The ent

lhy 139 Dec 5, 2022
Intellicards-backend - A Django project bootstrapped with django-admin startproject mysite

Intellicards-backend - A Django project bootstrapped with django-admin startproject mysite

Fabrizio Torrico 2 Jan 13, 2022
An example of Django project with basic user functionality and account activation.

Simple Django Login and Registration An example of Django project with basic user functionality. Screenshots Log In Create an account Authorized page

Hussein Sarea 3 Oct 19, 2022
Forgot password functionality build in Python / Django Rest Framework

Password Recover Recover password functionality with e-mail sender usign Django Email Backend How to start project. Create a folder in your machine Cr

alexandre Lopes 1 Nov 3, 2021
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

null 2.6k Dec 26, 2022
Django admin CKEditor integration.

Django CKEditor NOTICE: django-ckeditor 5 has backward incompatible code moves against 4.5.1. File upload support has been moved to ckeditor_uploader.

null 2.2k Jan 2, 2023
Django admin CKEditor integration.

Django CKEditor NOTICE: django-ckeditor 5 has backward incompatible code moves against 4.5.1. File upload support has been moved to ckeditor_uploader.

null 2.2k Dec 31, 2022
📝 Sticky Notes in Django admin

django-admin-sticky-notes Share notes between superusers. Installation Install via pip: pip install django_admin_sticky_notes Put django_admin_sticky_

Dariusz Choruży 7 Oct 6, 2021
mirage ~ ♪ extended django admin or manage.py command.

mirage ~ ♪ extended django admin or manage.py command. ⬇️ Installation Installing Mirage with Pipenv is recommended. pipenv install -d mirage-django-l

Shota Shimazu 6 Feb 14, 2022
Super simple bar charts for django admin list views visualizing the number of objects based on date_hierarchy using Chart.js.

Super simple bar charts for django admin list views visualizing the number of objects based on date_hierarchy using Chart.js.

foorilla LLC 4 May 18, 2022
Django-MySQL extends Django's built-in MySQL and MariaDB support their specific features not available on other databases.

Django-MySQL The dolphin-pony - proof that cute + cute = double cute. Django-MySQL extends Django's built-in MySQL and MariaDB support their specific

Adam Johnson 504 Jan 4, 2023
An app that allows you to add recipes from the dashboard made using DJango, JQuery, JScript and HTMl.

An app that allows you to add recipes from the dashboard. Then visitors filter based on different categories also each ingredient has a unique page with their related recipes.

Pablo Sagredo 1 Jan 31, 2022
Add infinite scroll to any django app.

django-infinite-scroll Add infinite scroll to any django app. Features - Allows to add infinite scroll to any page.

Gustavo Teixeira 1 Dec 26, 2021
Store model history and view/revert changes from admin site.

django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D

Jazzband 1.8k Jan 8, 2023
Store model history and view/revert changes from admin site.

django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D

Jazzband 1.8k Jan 6, 2023
Helps working with singletons - things like global settings that you want to edit from the admin site.

Django Solo +---------------------------+ | | | | | \ | Django Solo helps

Sylvain Toé 726 Jan 8, 2023
This is a simple Todo web application built Django (back-end) and React JS (front-end)

Django REST Todo app This is a simple Todo web application built with Django (back-end) and React JS (front-end). The project enables you to systemati

Maxim Mukhin 5 May 6, 2022