Easily share data across your company via SQL queries. From Grove Collab.

Overview
Documentation Status Build Status Latest Version Downloads License

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 add to an existing Django site, or use as a standalone business intelligence tool.

Quickly write and share SQL queries in a simple, usable SQL editor, preview the results in the browser, share links, download CSV, JSON, or Excel files (and even expose queries as API endpoints, if desired), and keep the information flowing!

Comes with support for multiple connections, to many different SQL database types, a schema explorer, query history (e.g. lightweight version control), a basic security model, in-browser pivot tables, and more.

SQL Explorer values simplicity, intuitive use, unobtrusiveness, stability, and the principle of least surprise.

SQL Explorer is inspired by any number of great query and reporting tools out there.

The original idea came from Stack Exchange's Data Explorer, but also owes credit to similar projects like Redash and Blazer.

You can read the full documentation here

Sql Explorer is MIT licensed, and pull requests are welcome.

A view of a query

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_2.png

Viewing all queries

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_querylist.png

Quick access to DB schema info

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_3.png

Snapshot query results to S3 & download as csv

https://s3-us-west-1.amazonaws.com/django-sql-explorer/2019_snapshots.png

Comments
  • Time for a new release?

    Time for a new release?

    Hey, great work on this tool!

    I'm thinking it might be good to release a new version on pip. There's some good stuff in the latest version, esp a fix for showing the schema on mysql.

    I added this to my pip requirements list:

    git+git://github.com/groveco/[email protected] # latest commit as of jan 12 2018
    

    and had to pip uninstall the current version first.

    This could be confusing for many users and I'm sure they would appreciate a release on pip.

    opened by baragona 17
  • Django 3.0 support?

    Django 3.0 support?

    Right now when I install this library in my Django 3.0 project, I get the following error: ImportError: cannot import name 'render_to_response' from 'django.shortcuts' (...../lib/python3.7/site-packages/django/shortcuts.py)

    render_to_response was deprecated in Django 2.0 and removed from Django 3.0. Can someone please deploy a fix for this?

    opened by nitish-squadrun 13
  • Add pdf export capability using xhtml2pdf

    Add pdf export capability using xhtml2pdf

    Add an extra exporter (PDF) using xhtml2pdf and reportlab. Uses the exporer/pdf_template.html as a template for the pdf table, you can override it in your own apps to add (for example) page numbers, extra fonts, change page layout etc. Should fix #207.

    opened by spapas 13
  • Additional export functionality

    Additional export functionality

    Hey @chrisclark, what do you think about updating the export functionality to export to CSV, Excel, PDF, and JSON? Maybe a nice little toolbar below the report with export functionality to any of those choices. Then more could be added later if necessary (like an HTML Table export or something).

    I would of course help out with this. Just wanted to get your opinion first.

    opened by grantmcconnaughey 13
  • ModuleNotFoundError: boto3

    ModuleNotFoundError: boto3

    Hey! After installing django-sql-explorer==3.0, I get this error:

    [2022-12-15T14:06:49.875Z] #16 2.041   File "/app/venv/lib/python3.10/site-packages/explorer/utils.py", line 9, in <module>
    [2022-12-15T14:06:49.875Z] #16 2.041     import boto3
    [2022-12-15T14:06:49.875Z] #16 2.041 ModuleNotFoundError: No module named 'boto3'
    

    I see boto3 is actually imported directly here https://github.com/groveco/django-sql-explorer/blob/master/explorer/utils.py#L9, but when installing this app boto3 is not installed as a dependency.

    Am I missing something?

    Thanks!

    bug good first issue Contributions welcome 
    opened by scastlara 12
  • Problem importing celery to enable tasks

    Problem importing celery to enable tasks

    Setting EXPLORER_TASKS_ENABLED = True causes the following exception:

    ImportError: cannot import name 'task' from 'celery' (D:\Users\my-user\projects\my-project\venv-windows\lib\site-packages\celery\__init__.py)
    
    Django==3.2.9
    django-sql-explorer==2.4.2
    celery==5.2.1
    
    opened by avi-perl 12
  • Vulnerabilities in JS files

    Vulnerabilities in JS files

    opened by fearless0307 10
  • Bug in passes_blacklist

    Bug in passes_blacklist

    Hello! I am running the following query:

    SELECT * from eventtype where eventtype.value = 'Grant Date';

    I get:

    Query failed the SQL blacklist: GRANT

    In order for the query to work, I have to do workarounds: SELECT * from legal_eventtype where legal_eventtype.value = concat('G', 'rant Date'); This causes a lot of headaches.

    bug Contributions welcome 
    opened by afedosenko 10
  • Scripts and Style links local rather than pulled from Internet

    Scripts and Style links local rather than pulled from Internet

    I have a great use case for an offline application to use django-sql-explorer and need the scripts and links all to be stored with the package for this purpose.

    These were the references I found with a quick grep of the templates:

    [explorer]# grep 'src="/' *
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/codemirror.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/mode/sql/sql.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/addon/comment/comment.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/floatthead/2.1.1/jquery.floatThead.min.js"></script>
    base.html:    <script src="//cdnjs.cloudflare.com/ajax/libs/pivottable/2.20.0/pivot.min.js"></script>
    
    [explorer]# grep 'href="/' *
    base.html:    <link href="//cdnjs.cloudflare.com/ajax/libs/codemirror/5.36.0/codemirror.min.css" rel="stylesheet" />
    base.html:    <link href="//cdnjs.cloudflare.com/ajax/libs/pivottable/2.20.0/pivot.min.css" rel="stylesheet" />
    fullscreen.html:    <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
    
    opened by alligatorbait 10
  • Exports need to include a BOM

    Exports need to include a BOM

    Currently exporting a CSV and opening it in Excel ruins any unicode characters.

    For example, Japanese characters display as 裕太

    Exporter needs to do something like this to write the BOM to the beginning of the file;

        contents = StringIO()
        contents.write(codecs.BOM_UTF8.decode('utf-8'))
        writer = csv.writer(contents)
    
    good first issue 
    opened by marksweb 9
  • Would you consider support for more object storage providers?

    Would you consider support for more object storage providers?

    Hi there,

    I just discovered this project today, and it looks fantastic - thank you for making it!

    Would you consider supporting more providers than just AWS if they are already boto/boto3 compatible ?

    I see this code in the repo here which I think is responsible for uploading snapshots to an object storage service like AWS S3:

    def get_s3_bucket():
        from boto.s3.connection import S3Connection
    
        conn = S3Connection(app_settings.S3_ACCESS_KEY,
                            app_settings.S3_SECRET_KEY)
        return conn.get_bucket(app_settings.S3_BUCKET)
    
    
    def s3_upload(key, data):
        from boto.s3.key import Key
        bucket = get_s3_bucket()
        k = Key(bucket)
        k.key = key
        k.set_contents_from_file(data, rewind=True)
        k.set_acl('public-read')
        k.set_metadata('Content-Type', 'text/csv')
        return k.generate_url(expires_in=0, query_auth=False)
    

    In a project I work on we use the boto library to talk to s3 compatible services from other providers, and I think to add this support to django-sql-explorer, it would mainly require a adding two new parameters to the code that connects to S3.

    We have a comparable method on a project I work on where we fetch an S3-compatible bucket, which does a somewhat similar job to get_s3_bucket above.

    def object_storage_bucket(bucket_name: str):
        """
        Return the bucket identified by `bucket_name` for uploading
        and downloading files.
        """
        session = boto3.Session(region_name=settings.OBJECT_STORAGE_REGION)
    
        object_storage = session.resource(
            "s3",
            endpoint_url=settings.OBJECT_STORAGE_ENDPOINT,
            aws_access_key_id=settings.OBJECT_STORAGE_ACCESS_KEY_ID,
            aws_secret_access_key=settings.OBJECT_STORAGE_SECRET_ACCESS_KEY,
        )
        return object_storage.Bucket(bucket_name)
    

    While the example I have shared uses boto3, instead of boto, I think it would not be too complicated to add the extra params, the region_name, and endpoint_url to the code connecting to an object storage service.

    Doing so would then make this library compatible with a range of S3-compatible providers (i.e. Cloudflare, Digital ocean, Scaleway, etc), as well as open source S3-compatible object storage software like Minio, Garage and so on.

    I'm currently adding django-sql-explorer to a project I'm working on but once I'm a bit more familiar with it, would you accept a PR to add this functionality, and assuming it meets contribution standards, giving some pointers on how to have this gracefully integrated into the project?

    opened by mrchrisadams 8
  • Organize queries into a tree-like sturcture for easier navigation

    Organize queries into a tree-like sturcture for easier navigation

    In the project where we are using Django SQL explorer the number of queries has grown so large that it is hard to navigate.

    I would propose to add a field path to the query which would function like a regular filesystem path. Based on that path queries could be displayed in the list view as a tree-like structure. For example queries with names A, B, C, D and paths /research/europe/, /research/europe/, /research/usa, and sales, respectively, could be shown as

    • research
      • europe
        • A
        • B
      • usa
        • C
    • sales
      • D

    This change would be backwards compatible as the path variable would not be required and the path could default to the root directory or some special "uncategorized" category.

    Also, this would open up the possibility to use that path for access management in the future such as giving a user read or write access to all queries under a specific path. However, that is just a though and not directly linked to the current proposal.

    If that idea sounds interesting, I would be happy to prepare a PR.

    opened by eeriksp 1
  • Sql explorer save query params

    Sql explorer save query params

    Description

    This provides the functionality to save query params so that the queries execute with them each time one comes to the Query Detail page.

    Resolves: #482

    Deployment Procedures

    • [ ] Migration (Please specify app(s) below)
      • ./manage.py migrate explorer

    Tests

    Execute Manual UI Tests like the following:

    1. Create a new query with a query param and save, note the same functionality exists as previously where the query does not execute due to no value for the new param:
    Screen Shot 2022-09-06 at 2 57 16 PM
    1. Input a value for the parameter and save:
    Screen Shot 2022-09-06 at 2 57 35 PM
    1. Now add a new parameter and save:
    Screen Shot 2022-09-06 at 2 58 27 PM
    1. Now save a new value to the second parameter:
    Screen Shot 2022-09-06 at 2 58 47 PM
    1. Now navigate back to the Query List page and click on the test query:
    Screen Shot 2022-09-06 at 2 59 10 PM
    1. Validate that the new QueryParams persist and the query executed:
    Screen Shot 2022-09-06 at 2 59 35 PM

    Also, you will want to verify that the csv and JSON exports still work correctly like:

    Screen Shot 2022-09-06 at 3 04 05 PM

    Screen Shot 2022-09-06 at 3 04 22 PM

    opened by dwmorrison33 3
  • Add label to parameters

    Add label to parameters

    I embedded a query with parameters using the procedure described in #485. The problem with this is that there is no way to add an optional "label" to the parameters so as to have better control on what to disply to the users.

    I tried to change the parameter name to be used as a labe but for reasons unknown to me this doesn't work. For example take a peek at this query:

    select aa.id, aa.created_on,
    aa.dynamic_data->>'date' as "Ημερμηνία",
    aa.dynamic_data->>'authority' as "Υπηρεσία",
    aa.dynamic_data->>'mail' as "Email",
    aa.dynamic_data
    from apps_app aa 
    left join apptypes_apptype aat on 
    aa.app_type_id = aat.id
    where aat.id = 8
    and aa.dynamic_data->>'mail' like "%$$email$$%"
    and aa.dynamic_data->>'authority' like "%$$Υπηρεσία$$%"
    

    Notice that I use a unicode name for the parameter in the last line; this parameter is not displayed at all (notice I'm using the normal process explorer view not any custom ones). Also, if I wanted to write Email as the name of the parameter instead of email I'd still get email (all lowercase) in the form field label.

    One way this could be implemented (this is only for UX purposes, I haven't read the code to understand if it's possible) is to add an optional label in the field similar to the optional default value. I.e right now we can do: $$paramName:defaultValue$$, this can be changed to $$paramName:defaultValue:Label$$ (and let's suppose we don't allow : in the label).

    Is this the correct way to go? Also is this a feature we'd like to add ? If yes I'd be happy to take a look at it.

    opened by spapas 5
  • Embedding a query

    Embedding a query

    Hello friends, in a recent project I wanted to embed a query in a view for all users to be able to run it. So instead of using the provided views I wanted to properly embed the report in my views so as to use my permissions etc (the requirement was a little more complex than that but it doesn't matter).

    I didn't find any docs for that so I had to research the source code and use the query_viewmodel function. So, my query detail view is similar to this:

    
    from explorer.models import Query
    from explorer.views.utils import query_viewmodel
    
    class QueryDetailView(DetailView):
        template_name = "reports/query_detail.html"
        model = Query
    
        def get_context_data(self, **kwargs):
            context = super().get_context_data(**kwargs)
            query = self.get_object()
            query.params = dict(
                [(k[:-6], v) for k, v in self.request.GET.items() if k.endswith("_param")]
            )
    
            vm = query_viewmodel(self.request, query)
    
            # dict_keys(['tasks_enabled', 'params', 'title', 'shared', 'query', 'form', 'message', 'error', 'rows', 'data', 'headers', 'total_rows', 'duration', 'has_stats', 'snapshots', 'ql_id', 'unsafe_rendering', 'fullscreen_params'])
            context.update(vm)
            context["title"] = query.title
            return context
    

    Then I used a query_detail.html template like:

    
    {% extends "site_base.html" %}
    {% block page_content %}
    
    {% if params %}
    <form method='GET'>
        <div class="form-inline">
            {% for k, v in params.items %}
                <div class="form-group">
                    <label for="{{ k }}_param" class="control-label col-sm-4">{{ k }}:</label>
                    <div class="col-sm-7">
                        <input type="text" data-param="{{ k }}" class="param form-control" name="{{ k }}_param" id="{{ k }}_param" placeholder="parameter" value="{{ v }}" />
                    </div>
                    <div class="col-sm-1"></div>
                </div>
            {% endfor %}
        </div>
        <input type='submit' class='btn btn-primary' value='Query'>
        <a href='{{ request.path }}' class='btn btn-secondary'>Reset</a>
    </form>
    {% endif %}
    
    <div class="row">
        <div class="col-md-12">
            {% if data %}
                <table class='table'>
                    <thead>
                        <tr>
                            {% for col in headers %}
                                <th>{{ col }}</th>
                            {% endfor %}
                        </tr>
                    </thead>
                    <tbody>
                        {% for row in data %}
                            <tr>
                                {% for col in row %}
                                    <td>{{ col }}</td>
                                {% endfor %}
                            </tr>
                        {% endfor %}
                    </tbody>
                </table>
            {% endif %}
        </div>
    </div>
    {% endblock %}
    

    I'm not sure if this is the correct way to do it, can you please confirm. If yes, I'd recommend adding this in the documentation so it's easy for other users that want to embed queries. Also we may want to make the query_viewmodel function as part of the API so we should describe its inputs/outputs.

    I can provide the PR with the change to the docs if you think it will be useful.

    opened by spapas 0
  • Save Parameter key and values

    Save Parameter key and values

    I am curious if there is a way to save a query parameters value for later use instead of having to re-enter it each time one goes to the Query Detail page? I only ask because I have not been able to find an answer to that with Google and I do not see anything in the codebase to do it, but maybe I am missing something. Thank you

    opened by dwmorrison33 7
Releases(3.0.1)
  • 3.0.1(Dec 16, 2022)

    What's Changed

    • Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/groveco/django-sql-explorer/pull/510
    • Bump actions/setup-python from 2 to 4 by @dependabot in https://github.com/groveco/django-sql-explorer/pull/512
    • Bump github/codeql-action from 1 to 2 by @dependabot in https://github.com/groveco/django-sql-explorer/pull/511
    • Fix for running without optional packages by @marksweb in https://github.com/groveco/django-sql-explorer/pull/515

    New Contributors

    • @dependabot made their first contribution in https://github.com/groveco/django-sql-explorer/pull/510

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/3.0...3.0.1

    Source code(tar.gz)
    Source code(zip)
  • 3.0(Dec 15, 2022)

    What's Changed

    • Document breakage of Format button due to CSRF_COOKIE_HTTPONLY (#492) by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/496
    • Avoid execution of parameterised queries when viewing query by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/497
    • Change sql blacklist functionality from regex to sqlparse by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/498
    • Form display in popup now requires sanitize: false flag by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/500
    • pre-commit hooks by @marksweb in https://github.com/groveco/django-sql-explorer/pull/504
    • Problem importing celery to enable tasks by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/501
    • Feature/more s3 providers by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/505
    • Check sql blacklist on execution as well as save by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/506
    • Bugfix/premature imports by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/508
    • 3.0 by @marksweb in https://github.com/groveco/django-sql-explorer/pull/509

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.5.0...3.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Oct 9, 2022)

    What's Changed

    • Improved templates to make easier to customize them for integration w… by @nad2000 in https://github.com/groveco/django-sql-explorer/pull/478
    • Add pie and line chart tabs to query result preview by @eeriksp in https://github.com/groveco/django-sql-explorer/pull/481
    • docs: Fix a few typos by @timgates42 in https://github.com/groveco/django-sql-explorer/pull/488
    • Fixes Security hole in blacklist for MySQL #490 by @lawson89 in https://github.com/groveco/django-sql-explorer/pull/494

    New Contributors

    • @nad2000 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/478
    • @eeriksp made their first contribution in https://github.com/groveco/django-sql-explorer/pull/481
    • @lawson89 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/494

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4.2...2.5.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0-beta(Aug 31, 2022)

    What's Changed

    • Improved templates to make easier to customize them for integration w… by @nad2000 in https://github.com/groveco/django-sql-explorer/pull/478
    • Add pie and line chart tabs to query result preview by @eeriksp in https://github.com/groveco/django-sql-explorer/pull/481

    New Contributors

    • @nad2000 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/478
    • @eeriksp made their first contribution in https://github.com/groveco/django-sql-explorer/pull/481

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4.2...2.5.0-beta

    Source code(tar.gz)
    Source code(zip)
  • 2.4.2(Aug 30, 2022)

    What's Changed

    • Add SET to blacklisted keywords by @assem-ch in https://github.com/groveco/django-sql-explorer/pull/475
    • Fix for #483 by @spapas in https://github.com/groveco/django-sql-explorer/pull/484

    New Contributors

    • @assem-ch made their first contribution in https://github.com/groveco/django-sql-explorer/pull/475

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4.1...2.4.2

    Source code(tar.gz)
    Source code(zip)
  • 2.4.1(Mar 10, 2022)

    What's Changed

    • fix extra space around sql by @fearless0307 in https://github.com/groveco/django-sql-explorer/pull/471
    • Some tests misusing assertTrue for comparisons fix by @code-review-doctor in https://github.com/groveco/django-sql-explorer/pull/474

    New Contributors

    • @code-review-doctor made their first contribution in https://github.com/groveco/django-sql-explorer/pull/474

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.4...2.4.1

    Source code(tar.gz)
    Source code(zip)
  • 2.4(Feb 10, 2022)

    What's Changed

    • Add missing comma by @Bubbassauro in https://github.com/groveco/django-sql-explorer/pull/462
    • Use Django built-in get_valid_filename by @SuJiKiNen in https://github.com/groveco/django-sql-explorer/pull/466
    • Upgrade JS/CSS package by @fearless0307 in https://github.com/groveco/django-sql-explorer/pull/470

    New Contributors

    • @Bubbassauro made their first contribution in https://github.com/groveco/django-sql-explorer/pull/462
    • @SuJiKiNen made their first contribution in https://github.com/groveco/django-sql-explorer/pull/466
    • @fearless0307 made their first contribution in https://github.com/groveco/django-sql-explorer/pull/470

    Full Changelog: https://github.com/groveco/django-sql-explorer/compare/2.3...2.4

    Source code(tar.gz)
    Source code(zip)
  • 2.3(Jul 24, 2021)

  • 2.2.0(Jun 14, 2021)

    • Updated docs theme to furo
    • #445: Added EXPLORER_NO_PERMISSION_VIEW setting to allow override of the "no permission" view (Fix #440)
    • #444: Updated structure of the settings docs (Fix #443)
    Source code(tar.gz)
    Source code(zip)
  • 2.1.3(May 14, 2021)

Owner
Grove Collaborative
Grove Collaborative
Yummy Django API, it's the exclusive API used for the e-yummy-ke vue web app

Yummy Django API, it's the exclusive API used for the e-yummy-ke vue web app

Am.Chris_KE 1 Feb 14, 2022
Full featured redis cache backend for Django.

Redis cache backend for Django This is a Jazzband project. By contributing you agree to abide by the Contributor Code of Conduct and follow the guidel

Jazzband 2.5k Jan 03, 2023
Plug and play continuous integration with django and jenkins

django-jenkins Plug and play continuous integration with Django and Jenkins Installation From PyPI: $ pip install django-jenkins Or by downloading th

Mikhail Podgurskiy 941 Oct 22, 2022
Dynamic, database-driven Django forms

Django Dataforms django-dataforms is a wrapper for the Django forms API that lets you dynamically define forms in a database, rather than hard-coding

35 Dec 16, 2022
Hotwired/Turbo Django response helpers

This package provides helpers for server-side rendering of Hotwired/Turbo streams and frames. Disclaimer: the Hotwired/Turbo client libraries are, at

Hotwire for Django 66 Apr 07, 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
Quick example of a todo list application using Django and HTMX

django-htmx-todo-list Quick example of a todo list application using Django and HTMX Background Modified & expanded from https://github.com/jaredlockh

Jack Linke 54 Dec 10, 2022
Hello world written in Django.

Learning Django 💡 create a virtual environment create python -m venv ./venv. this virtualenv file will be excluded by .gitignore activate the virtual

Dipak giri 4 Nov 26, 2021
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.

Cookiecutter Django Powered by Cookiecutter, Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly. Documentati

Daniel Feldroy 10k Dec 31, 2022
Analytics services for Django projects

django-analytical The django-analytical application integrates analytics services into a Django project. Using an analytics service with a Django proj

Jazzband 1.1k Dec 31, 2022
A simple demonstration of how a django-based website can be set up for local development with microk8s

Django with MicroK8s Start Building Your Project This project provides a Django web app running as a single node Kubernetes cluster in microk8s. It is

Noah Jacobson 19 Oct 22, 2022
simple project management tool for educational purposes

Taskcamp This software is used for educational and demonstrative purposes. It's a simple project management tool powered by Django Framework Install B

Ilia Dmitriev 6 Nov 08, 2022
Django API without Django REST framework.

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

Regis Santos 3 Jan 19, 2022
Docker django app

Hmmmmm... What I should write here? Maybe "Hello World". Hello World Build Docker compose: sudo docker-compose build Run Docker compose: sudo docker-

Andrew 0 Nov 10, 2022
Utilities to make function-based views cleaner, more efficient, and better tasting.

django-fbv Utilities to make Django function-based views cleaner, more efficient, and better tasting. 💥 📖 Complete documentation: https://django-fbv

Adam Hill 49 Dec 30, 2022
Django Course Project - TextCorrector

Django-TextUtils Django Course Project A tool for analyzing text data in Django backend. It is a project where you can do some of the things with you

1 Oct 29, 2021
User Authentication In Django/Ajax/Jquery

User Authentication In Django/Ajax/Jquery Demo: Authentication System Using Django/Ajax/Jquery Demo: Authentication System Using Django Overview The D

Suman Raj Khanal 10 Mar 26, 2022
A slick ORM cache with automatic granular event-driven invalidation.

Cacheops A slick app that supports automatic or manual queryset caching and automatic granular event-driven invalidation. It uses redis as backend for

Alexander Schepanovski 1.7k Jan 03, 2023
Django And React Notes App

Django & React Notes App Cloning the repository -- Clone the repository using the command below : git clone https://github.com/divanov11/Django-React

Dennis Ivy 136 Dec 27, 2022
demo project for django channels tutorial

django_channels_chat_official_tutorial demo project for django channels tutorial code from tutorial page: https://channels.readthedocs.io/en/stable/tu

lightsong 1 Oct 22, 2021