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)
An extremely fast JavaScript and CSS bundler and minifier

Website | Getting started | Documentation | Plugins | FAQ Why? Our current build tools for the web are 10-100x slower than they could be: The main goa

Evan Wallace 34.2k Jan 04, 2023
This is raw connection between redis server and django python app

Django_Redis This repository contains the code for this blogpost. Running the Application Clone the repository git clone https://github.com/xxl4tomxu9

Tom Xu 1 Sep 15, 2022
Example project demonstrating using Django’s test runner with Coverage.py

Example project demonstrating using Django’s test runner with Coverage.py Set up with: python -m venv --prompt . venv source venv/bin/activate python

Adam Johnson 5 Nov 29, 2021
Transparently use webpack with django

Looking for maintainers This repository is unmaintained as I don't have any free time to dedicate to this effort. If you or your organisation are heav

Owais Lone 2.4k Jan 06, 2023
Automated image processing for Django. Currently v4.0

ImageKit is a Django app for processing images. Need a thumbnail? A black-and-white version of a user-uploaded image? ImageKit will make them for you.

Matthew Dapena-Tretter 2.1k Dec 17, 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 Dec 26, 2022
Bootstrap 4 integration with Django.

django-bootstrap 4 Bootstrap 4 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 4. Requirements Pytho

Zostera B.V. 980 Dec 29, 2022
Automatic class scheduler for Texas A&M written with Python+Django and React+Typescript

Rev Registration Description Rev Registration is an automatic class scheduler for Texas A&M, aimed at easing the process of course registration by gen

Aggie Coding Club 21 Nov 15, 2022
Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Wanderson Fontes 2 Sep 21, 2022
Easily share data across your company via SQL queries. From Grove Collab.

SQL Explorer SQL Explorer aims to make the flow of data between people fast, simple, and confusion-free. It is a Django-based application that you can

Grove Collaborative 2.1k Dec 30, 2022
A Blog Management System Built with django

Blog Management System Backend use: Django Features Enhanced Ui

Vishal Goswami 1 Dec 06, 2021
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
PEP-484 stubs for django-rest-framework

pep484 stubs for Django REST framework Mypy stubs for DRF 3.12.x. Supports Python 3.6, 3.7, 3.8 and 3.9. Installation pip install djangorestframework-

TypedDjango 303 Dec 27, 2022
Integarting Celery with Django to asynchronous tasks 📃

Integrating 🔗 Celery with Django via Redis server ,To-Do asynchronously 👀task without stopping the main-flow 📃 of Django-project . It increase your speed 🚀 and user experience 🤵 of website

Rushi Patel 4 Jul 15, 2022
Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes

Bleach Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes. Bleach can also linkify text safely, appl

Mozilla 2.5k Dec 29, 2022
A tool to automatically fix Django deprecations.

A tool to help upgrade Django projects to newer version of the framework by automatically fixing deprecations. The problem When maintaining a Django s

Bruno Alla 155 Dec 14, 2022
Use webpack to generate your static bundles without django's staticfiles or opaque wrappers.

django-webpack-loader Use webpack to generate your static bundles without django's staticfiles or opaque wrappers. Django webpack loader consumes the

2.4k Dec 24, 2022
Django/Jinja template indenter

DjHTML A pure-Python Django/Jinja template indenter without dependencies. DjHTML is a fully automatic template indenter that works with mixed HTML/CSS

Return to the Source 378 Jan 01, 2023
Reusable workflow library for Django

django-viewflow Viewflow is a lightweight reusable workflow library that helps to organize people collaboration business logic in django applications.

Viewflow 2.3k Jan 08, 2023
Auto-detecting the n+1 queries problem in Python

nplusone nplusone is a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM. The Problem Man

Joshua Carp 837 Dec 29, 2022