Bootstrap 4 integration with Django.

Overview

django-bootstrap 4

CI Coverage Status Latest PyPI version Any color you like

Bootstrap 4 integration for Django.

Goal

The goal of this project is to seamlessly blend Django and Bootstrap 4.

Requirements

Python 3.6 or newer with Django >= 2.2 or newer.

Documentation

The full documentation is at https://django-bootstrap4.readthedocs.io/

Installation

  1. Install using pip:

    pip install django-bootstrap4

    Alternatively, you can install download or clone this repo and call pip install -e ..

  2. Add to INSTALLED_APPS in your settings.py:

    INSTALLED_APPS = (
        # ...
        "bootstrap4",
        # ...
    )
  3. In your templates, load the bootstrap4 library and use the bootstrap_* tags:

Example template

{% load bootstrap4 %}

{# Display a form #}

<form action="/url/to/submit/" method="post" class="form">
    {% csrf_token %}
    {% bootstrap_form form %}
    {% buttons %}
        <button type="submit" class="btn btn-primary">Submit</button>
    {% endbuttons %}
</form>

Demo

A demo app is provided in demo. You can run it from your virtualenv with python manage.py runserver.

Bugs and suggestions

If you have found a bug or if you have a request for additional functionality, please use the issue tracker on GitHub.

https://github.com/zostera/django-bootstrap4/issues

License

You can use this under BSD-3-Clause. See LICENSE file for details.

Author

Developed and maintained by Zostera.

Original author: Dylan Verheul.

Thanks to everybody that has contributed pull requests, ideas, issues, comments and kind words.

Please see AUTHORS.md for a list of contributors.

Comments
  • Upgrade To Bootstrap 5

    Upgrade To Bootstrap 5

    https://v5.getbootstrap.com/

    https://github.com/twbs/bootstrap/projects

    Better to start early then to wait till the last minute.

    Probably need to rename this package when fully upgraded or make another branch.

    opened by 9mido 12
  • Updated CSS/JavaScript URLs to newer versions.

    Updated CSS/JavaScript URLs to newer versions.

    These reflect the newest versions shown on the Bootstrap website.

    I suspect folks would prefer to be on newer versions of these libraries. However, I can see how you might prefer to have users take these updates via settings updates instead.

    Updated links were all sourced from here. The cdnjs website provides the SHA values using the 512 algorithm (instead of 384) which is maybe better?

    Instead of the URLs coming from different CDNs they now all use Cloudflare (which never goes down, right? 😛).

    TESTING:

    • I tried the template tags out with these changes and didn't notice any errors in the inspector.
    opened by emmceemoore 10
  • Feature request: Allow to skip label from field completely

    Feature request: Allow to skip label from field completely

    {% bootstrap_field field show_label=False %}
    

    currently still renders the label, but with class="sr-only". This is great for most cases, but it is actually a bad idea if the users manually adds the label separately. In that case, both labels will be associated with the form field and the computed aria-label will be "{label} {label}".

    opened by xi 9
  • Setting base_url is not used

    Setting base_url is not used

    I tried to change the used bootstrap4 version. So I added to following dict to the settings.py:

    BOOTSTRAP4 = { # The Bootstrap base URL 'base_url': '//maxcdn.bootstrapcdn.com/bootstrap/4.1.3/', }

    But the tag {% bootstrap_css %} still includes version 4.0.0:

    <link crossorigin="anonymous" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" rel="stylesheet">

    bug 
    opened by pacnos 8
  • Show field errors at the field, rather than at the top

    Show field errors at the field, rather than at the top

    I'd like to show field errors at the field, instead of at the top of the form. (In horizontal mode, if it matters).

    I've looked at the source for FormRendered a bit but it doesn't seem there's a way to do this, is there?

    bug 
    opened by mverleg 8
  • Tags for including Bootstrap4

    Tags for including Bootstrap4

    I'm thinking of removing the template tags for inclusion of JS and CSS. When using local source/dist a dev should know what to include, may use webpack or another tool to combine static files, et cetera. So the only viable use case for including through tags would be CDN. This would burden us with keeping up with Bootstrap releases to adjust CDN URL's and signatures.

    Any input on this matter?

    bug help wanted good first issue 
    opened by dyve 8
  • Incorrect rendering of form with radio buttons

    Incorrect rendering of form with radio buttons

    I tried to create a simple form with 2 radio buttons and the buttons are rendered side by side horizontally. Would have expected that the radio buttons would be vertically stacked by default (as this is the bootstrap 4 default according to docs, see url below).

    view/form:

    from django.views.generic import FormView
    
    class TestForm(forms.Form):
        OPTIONS = (('1', 'Yes'), ('0', 'No'))
        
        options = forms.ChoiceField(
            label="Simple form",
            choices=OPTIONS,
            widget=forms.RadioSelect)
    
    class Index(FormView):
        template_name = 'index.html'
        form_class = TestForm
    

    template index.html:

    {% load bootstrap4 %}
    
    {# Load CSS and JavaScript #}
    {% bootstrap_css %}
    {% bootstrap_javascript jquery='full' %}
    
    {# Display django.contrib.messages as Bootstrap alerts #}
    {% bootstrap_messages %}
    
    {# Display a form #}
    <form action="/url/to/submit/" method="post" class="form">
      {% csrf_token %}
      {% bootstrap_form form %}
      {% buttons %}
        <button type="submit" class="btn btn-primary">
          Submit
        </button>
      {% endbuttons %}
    </form>
    

    result:

    Simple form
    ( ) Yes  ( ) No
    [Submit]
    

    expected result:

    Simple form
    ( ) Yes 
    ( ) No
    [Submit]
    

    The form part of the generated HTML looks something like this:

    <form action="/url/to/submit/" method="post" class="form">
      <div class="form-group">
        <label for="id_options_0">Simple form</label>
        <div class="radio radio-success" id="id_options">
          <label for="id_options_0">
            <input type="radio" name="options" value="1" class="" title="" required="" id="id_options_0"> Yes
          </label>
          <label for="id_options_1">
            <input type="radio" name="options" value="0" class="" title="" required="" id="id_options_1"> No
          </label>
        </div>
      </div>
      <div class="form-group">
        <button type="submit" class="btn btn-primary">
          Submit
        </button>
      </div>
    </form>
    

    Looking at the bootstrap 4 documentation it looks like each radio button should be placed inside a div with the class form-check to get the default stacked layout.

    Furthermore i cannot find any references to the classes radio and radio-success in bootstrap 4, these 2 are added in post_widget_render for RadioSelect.

    After browsing through the django-bootstrap4 code quickly i found def radio_list_to_class(self, html, klass) which maps <li> and </li> to empty string. If the radio buttons really are supposed to be inside a div with class form-check then we should probably change the mapping to look like this

    mapping = [
                ("<ul", '<div class="{klass}"'.format(klass=classes)),
                ("</ul>", "</div>"),
                ("<li>", '<div class="form-check">'),
                ("</li>", "</div>"),
            ]
    

    Trying this locally at least I get the default stacked layout that I expected, but I'm not sure if this will break some other layout. Or am I missing some other parameter here which can solve the initial problem?

    opened by parander 7
  • Unable to run Demo app

    Unable to run Demo app

    PS C:\Users\user\Downloads\django-bootstrap4-master\django-bootstrap4-master\demo> python manage.py runserver Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x060BFE88> Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper fn(*args, **kwargs) File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\commands\runserver.py", line 112, in inner_run autoreload.raise_last_exception() File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\autoreload.py", line 248, in raise_last_exception raise _exception[1] File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\management\__init__.py", line 327, in execute autoreload.check_errors(django.setup)() File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper fn(*args, **kwargs) File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\registry.py", line 89, in populate app_config = AppConfig.create(entry) File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\config.py", line 90, in create module = import_module(entry) File "C:\Users\user\AppData\Local\Programs\Python\Python36-32\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 953, in _find_and_load_unlocked ModuleNotFoundError: No module named 'tests'

    opened by schwarcu 7
  • field errors are not shown

    field errors are not shown

    Hello if render fields separatelly from the main form, field errors under the fields after false valdation arent shown. If render form as a whole - everything is fine.

    html:

                        <div class = "offset-1 col-4" >
                            {% bootstrap_field form1.last_year layout='inline' size="small" form_group_class="" label_class="form-label col-md-3"  %}
                            <small class="form-text text-muted">{{ form1.last_year.help_text }}</small>
                        </div>
    

    Should i use special div classes to swith it on maybe? Fields are marked in green and red according True/false validation -thats fine, but no error texts are shown under the field. Main errors panel above the whole form displays them

    Thank you

    opened by AlekseiKhatkevich 6
  • Is there an option to mark a form as not required? If no: Add one

    Is there an option to mark a form as not required? If no: Add one

    I have an html form that consists of multiple model forms. Not all of the forms need to be filled out by the user. Thus i would like to make it so that the forms that are not required only cause errors to be displayed if they are filled out partially in an invalid way.

    To give a more concrete example: I have a form for creating a new customer object in the database. This object represents a company. It may have a contact person associated with it.

    For the data of the customer object itself i use a django ModelForm like this:

    class NewCustomerForm(ModelForm):
        class Meta:
            model = Customer
            fields = [
                'customer_id',
                'name',
                'discount_special',
                'provision',
                'reseller',
                'tax_id_number',
                ]
    

    notice that there are no fields for the contact person there, because for that i have another ModelForm:

    class ContactForm(ModelForm):
        class Meta:
            model = Contact
            fields = [
                'name',
                'email',
                'phone',
                ]
    

    I do not need information about the contact person to create a customer object, but in the template i use to render these I treat them as one big html-<form>-tag so all the information gets submitted with at the same time. It works fine if every field is filled out with valid data. If the fields of the contact person are fully empty, I would like to just create the customer object. For that i need the client-side validation to allow submitting the whole html-form even though the part for the contact person is empty. Currently it seems like i need to write some custom JS to achieve that.

    I would really like if there was a parameter like this to specify that the form as a whole may be empty (or invalid):

    {% bootstrap_form contact required=False %}
    

    Is there a parameter that works like this?

    P.S.: This issue aside i think that django-bootstrap4 works pretty well for me, so GOOD JOB!

    EDIT: Make the wording more precise

    opened by SvenMoenig 6
  • fix rendering of checkbox

    fix rendering of checkbox

    Hi,

    Currently checkboxes are still rendered in the Bootstrap 3 way: the checkbox input is rendered within the checkbox label. Because of changes in the way checkboxes are handled in Bootstrap 4, checkboxes rendered like this, don't work in Bootstrap 4 compatible themes.

    This pull request changes the rendering to the Bootstrap 4 way.

    opened by SanderTuit 6
  • Bump tox from 3.27.1 to 4.2.1

    Bump tox from 3.27.1 to 4.2.1

    Bumps tox from 3.27.1 to 4.2.1.

    Release notes

    Sourced from tox's releases.

    4.2.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/tox-dev/tox/compare/4.2.0...4.2.1

    4.2.0

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.1.3...4.2.0

    4.1.3

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.1.2...4.1.3

    4.1.2

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.1.1...4.1.2

    4.1.1

    What's Changed

    Full Changelog: https://github.com/tox-dev/tox/compare/4.1.0...4.1.1

    4.1.0

    What's Changed

    ... (truncated)

    Changelog

    Sourced from tox's changelog.

    v4.2.1 (2023-01-03)

    Bugfixes - 4.2.1

    - Fix extracting extras from markers with more than 2 extras in an or chain - by :user:`dconathan`. (:issue:`2791`)
    

    v4.2.0 (2023-01-03)

    Features - 4.2.0

    • Packaging environments now inherit from the pkgenv section, allowing to set all your packaging options in one place, and support the deps key to set additional dependencies that will be installed after pyproject.toml static requires but before backends dynamic requires - by :user:gaborbernat. (:issue:2543)

    Improved Documentation - 4.2.0

    - Document breaking changes with tox 4 and packaging environments - by :user:`gaborbernat`. (:issue:`2543`)
    - Document how to handle environments whose names match ``tox`` subcommands - by :user:`sirosen`. (:issue:`2728`)
    

    v4.1.3 (2023-01-02)

    Bugfixes - 4.1.3

    - Reuse package_env with ``--installpkg`` - by :user:`q0w`. (:issue:`2442`)
    - Fail more gracefully when pip :ref:`install_command` is empty - by :user:`jayaddison`. (:issue:`2695`)
    

    Improved Documentation - 4.1.3 </code></pre> <ul> <li>Add breaking-change documentation for empty <code>install_command</code> values - by :user:<code>jayaddison</code>. (:issue:<code>2695</code>)</li> </ul> <p>Misc - 4.1.3</p> <pre><code>- :issue:2796, :issue:2797

    v4.1.2 (2022-12-30)

    Bugfixes - 4.1.2 </code></pre> <ul> <li>Fix <code>--skip-missing-interpreters</code> behaviour - by :user:<code>q0w</code>. (:issue:<code>2649</code>)</li> <li>Restore tox 3 behaviour of showing the output of pip freeze, however now only active when running inside a CI environment - by :user:<code>gaborbernat</code>. (:issue:<code>2685</code>)</li> <li>Fix extracting extras from markers with many extras - by :user:<code>q0w</code>. (:issue:<code>2791</code>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary>

    <ul> <li><a href="https://github.com/tox-dev/tox/commit/43382af3a228c4dfc098ec50e136971553ee0035"><code>43382af</code></a> release 4.2.1</li> <li><a href="https://github.com/tox-dev/tox/commit/4578eaa45fe5f5f80f08754627be8f4376cf3a97"><code>4578eaa</code></a> update how extras are extracted to handle cases with more than 2 groups (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2812">#2812</a>)</li> <li><a href="https://github.com/tox-dev/tox/commit/27c52ec2b77647374b7ff4a82244f0ff489d1afc"><code>27c52ec</code></a> Update upgrading.rst</li> <li><a href="https://github.com/tox-dev/tox/commit/2e977fb97a60129eee6764fcf0a4c86e01ceabee"><code>2e977fb</code></a> Update changelog.rst</li> <li><a href="https://github.com/tox-dev/tox/commit/d16a666ae31c2fd6d8204c39498758cc529167a3"><code>d16a666</code></a> release 4.2.0</li> <li><a href="https://github.com/tox-dev/tox/commit/82dcd45af55af239a7be81ee2e86948c6fe75518"><code>82dcd45</code></a> Packaging inherits from pkgenv, deps and document tox 4 packaging changes (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2">#2</a>...</li> <li><a href="https://github.com/tox-dev/tox/commit/31c8d1fc48ccf95f66b2920b356f9490686ccfc7"><code>31c8d1f</code></a> Document ambiguous usages in v3-to-v4 (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2808">#2808</a>)</li> <li><a href="https://github.com/tox-dev/tox/commit/031e902822284d65cbeb11b23dd05e6ba5107961"><code>031e902</code></a> Introduce Upgrading doc page for tox4 (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2805">#2805</a>)</li> <li><a href="https://github.com/tox-dev/tox/commit/d05ea02b7344766be3eb8046bac8843e10cf43a8"><code>d05ea02</code></a> release 4.1.3</li> <li><a href="https://github.com/tox-dev/tox/commit/997128ced47936adabb2f267d2606f8eac253ad3"><code>997128c</code></a> Better message when command parsing on empty input (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2807">#2807</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tox-dev/tox/compare/3.27.1...4.2.1">compare view</a></li> </ul> </details>

    <br />

    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)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump docformatter from 1.5.0 to 1.5.1

    Bump docformatter from 1.5.0 to 1.5.1

    Bumps docformatter from 1.5.0 to 1.5.1.

    Changelog

    Sourced from docformatter's changelog.

    v1.5.1 (2022-12-16)

    Full Changelog

    Bug Fixes

    Merged pull requests:

    Commits
    • c7ee0f3 Fix incorrect pyproject.toml parsing of boolean values (#133)
    • d81298b Update AUTHORS.rst file with new author(s)
    • 682a09d No empty lines before class and method docstrings (#131)
    • 3b73dc5 chore: update CI workflow so 3.6 still runs (#132)
    • d369613 Update AUTHORS.rst file with new author(s)
    • d9a3b61 Allow showing the diff when using --in-place or --check with --diff (#128)
    • 1def3c4 chore: move script to src layout and make a package (#117)
    • fef89ad feat: format class attribute docstrings (#116)
    • 9c18ed4 fix: don't wrap URLs (#115)
    • 214a0cd release: v1.5.0 (#114)
    • 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)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump autoflake from 1.7.8 to 2.0.0

    Bump autoflake from 1.7.8 to 2.0.0

    Bumps autoflake from 1.7.8 to 2.0.0.

    Commits

    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)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump flake8 from 5.0.4 to 6.0.0

    Bump flake8 from 5.0.4 to 6.0.0

    Bumps flake8 from 5.0.4 to 6.0.0.

    Commits

    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)
    dependencies python 
    opened by dependabot[bot] 0
  • Fix two issues:

    Fix two issues:

    • Append/prepend attributes not appearing at all
    • Validation feedback not appearing inside the input-group, and help text not appearing immediately after the input-group
    opened by tg-bot543 1
Releases(v3.0.1)
  • v3.0.1(May 20, 2021)

  • v1.1.0(Dec 9, 2019)

    • Update default Bootstrap to v4.3.1
    • Add support for Python 3.8, Django 3 and Django master
    • Switch to Django manage.py for test running
    • Update Makefile commands
    • Update tox configuration
    • Use correct license (BSD-3-Clause)
    • Fix typo's in docstrings
    • Update Travis configuration
    • Drop MANIFEST.in, use setuptools_scm
    • Stop using _version.py, use git tags for versioning
    • Fixed issues with labels and input (#174 and #181)
    Source code(tar.gz)
    Source code(zip)
PEP-484 type hints bindings for the Django web framework

mypy-django Type stubs to use the mypy static type-checker with your Django projects This project includes the PEP-484 compatible "type stubs" for Dja

Machinalis 223 Jun 17, 2022
Full control of form rendering in the templates.

django-floppyforms Full control of form rendering in the templates. Authors: Gregor Müllegger and many many contributors Original creator: Bruno Renié

Jazzband 811 Dec 01, 2022
Django Starter is a simple Skeleton to start with a Django project.

Django Starter Template Description Django Starter is a simple Skeleton to start

Numan Ibn Mazid 1 Jan 10, 2022
The friendly PIL fork (Python Imaging Library)

Pillow Python Imaging Library (Fork) Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lund

Pillow 10.4k Jan 03, 2023
Tools to easily create permissioned CRUD endpoints in graphene-django.

graphene-django-plus Tools to easily create permissioned CRUD endpoints in graphene-django. Install pip install graphene-django-plus To make use of ev

Zerosoft 74 Aug 09, 2022
Keep track of failed login attempts in Django-powered sites.

django-axes Axes is a Django plugin for keeping track of suspicious login attempts for your Django based website and implementing simple brute-force a

Jazzband 1.1k Dec 30, 2022
This is a repository for a web application developed with Django, built with Crowdbotics

assignment_32558 This is a repository for a web application developed with Django, built with Crowdbotics Table of Contents Project Structure Features

Crowdbotics 1 Dec 29, 2021
scaffold django rest apis like a champion 🚀

dr_scaffold Scaffold django rest apis like a champion âš¡ . said no one before Overview This library will help you to scaffold full Restful API Resource

Abdenasser Elidrissi 133 Jan 05, 2023
Thumbnails for Django

Thumbnails for Django. Features at a glance Support for Django 2.2, 3.0 and 3.1 following the Django supported versions policy Python 3 support Storag

Jazzband 1.6k Jan 03, 2023
Chatbot for ordering and tracking a Pizza.

Pizza Chatbot To start the app, follow the below steps: Clone the repo using the below command: git clone Shreya Shah 1 Jul 15, 2021

Django With VueJS Blog App

django-blog-vue-app frontend Project setup yarn install Compiles and hot-reload

Flavien HUGS 2 Feb 04, 2022
Displaying objects on maps in the Django views and administration site.

DjangoAdminGeomap library The free, open-source DjangoAdminGeomap library is designed to display objects on the map in the Django views and admin site

Vitaly Bogomolov 31 Dec 28, 2022
Simple tagging for django

django-taggit This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidelines. django-tagg

Jazzband 3k Jan 02, 2023
Strawberry-django-plus - Enhanced Strawberry GraphQL integration with Django

strawberry-django-plus Enhanced Strawberry integration with Django. Built on top

BLB Ventures 138 Dec 28, 2022
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.

django-mongonaut Info: An introspective interface for Django and MongoDB. Version: 0.2.21 Maintainer: Jazzband (jazzband.co) This Project is Being Mov

Jazzband 238 Dec 26, 2022
Extensions for using Rich with Django.

django-rich Extensions for using Rich with Django. Requirements Python 3.6 to 3.10 supported. Django 2.2 to 4.0 supported. Are your tests slow? Check

Adam Johnson 88 Dec 26, 2022
Django Pickled Model

Django Pickled Model Django pickled model provides you a model with dynamic data types. a field can store any value in any type. You can store Integer

Amir 3 Sep 14, 2022
Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS)

django-cors-headers A Django App that adds Cross-Origin Resource Sharing (CORS) headers to responses. This allows in-browser requests to your Django a

Adam Johnson 4.8k Jan 03, 2023
Djang Referral System

Djang Referral System About | Features | Technologies | Requirements | Starting | License | Author 🎯 About I created django referral system and I wan

Alex Kotov 5 Oct 25, 2022
pdm-django: Django command shortcuts for PDM

pdm-django: Django command shortcuts for PDM A plugin that gives you command shortcuts for developing with PDM. pdm run python manage.py runserver -

Neutron Sync 2 Aug 11, 2022