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
Django-Text-to-HTML-converter - The simple Text to HTML Converter using Django framework

Django-Text-to-HTML-converter This is the simple Text to HTML Converter using Dj

Nikit Singh Kanyal 6 Oct 09, 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
Auth module for Django and GarpixCMS

Garpix Auth Auth module for Django/DRF projects. Part of GarpixCMS. Used packages: django rest framework social-auth-app-django django-rest-framework-

GARPIX CMS 18 Mar 14, 2022
Drf-stripe-subscription - An out-of-box Django REST framework solution for payment and subscription management using Stripe

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

Oscar Y Chen 68 Jan 07, 2023
It takes time to start a Django Project and make it almost production-ready.

It takes time to start a Django Project and make it almost production-ready. A developer needs to spend a lot of time installing required libraries, setup a database, setup cache as well as hiding se

Khan Asfi Reza 1 Jan 01, 2022
Django model mixins and utilities.

django-model-utils Django model mixins and utilities. django-model-utils supports Django 2.2+. This app is available on PyPI. Getting Help Documentati

Jazzband 2.4k Jan 04, 2023
A Minimalistic Modern Django Boilerplate

A Minimalistic Modern Django Boilerplate This boilerplate is mainly for educational purposes. It is meant to be cloned as a starter code for future tu

Jonathan Adly 21 Nov 02, 2022
Vehicle registration using Python, Django and SQlite3

PythonCrud Cadastro de veículos utilizando Python, Django e SQlite3 Para acessar o deploy no Heroku:

Jorge Thiago 4 May 20, 2022
Use heroicons in your Django and Jinja templates.

heroicons Use heroicons in your Django and Jinja templates. Requirements Python 3.6 to 3.9 supported. Django 2.2 to 3.2 supported. Are your tests slow

Adam Johnson 52 Dec 14, 2022
PicoStyle - Advance market place website written in django

Advance market place website written in django :) Online fashion store for whole

AminAli Mazarian 26 Sep 10, 2022
A standalone package to scrape financial data from listed Vietnamese companies via Vietstock

Scrape Financial Data of Vietnamese Listed Companies - Version 2 A standalone package to scrape financial data from listed Vietnamese companies via Vi

Viet Anh (Vincent) Tran 45 Nov 16, 2022
Duckiter will Automatically dockerize your Django projects.

Duckiter Duckiter will Automatically dockerize your Django projects. Requirements : - python version : python version 3.6 or upper version - OS :

soroush safari 23 Sep 16, 2021
An insecure login and registration website with Django.

An insecure login and registration website with Django.

Luis Quiñones Requelme 1 Dec 05, 2021
A app for managing lessons with Django

Course Notes A app for managing lessons with Django Some Ideas

Motahhar.Mokfi 6 Jan 28, 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
Get inside your stronghold and make all your Django views default login_required

Stronghold Get inside your stronghold and make all your Django views default login_required Stronghold is a very small and easy to use django app that

Mike Grouchy 384 Nov 23, 2022
This a Django TODO app project and practiced how to deploy and publish the project to Heroku

ToDo App Demo | Project Table of Contents Overview Built With Features How to use Acknowledgements Contact Overview Built With HTML CSS JS Django How

Cetin OGUT 1 Nov 19, 2021
A modern looking portfolio build with Django.

Django Portfolio A portfolio template using html/css/js in the frontend and Django as the backend framework. Cool features: smooth scrolling responsiv

1 Jan 19, 2022
A simple REST API to manage postal addresses, written in Python/Django.

A simple REST API to manage postal addresses, written in Python/Django.

Attila Bagossy 2 Feb 14, 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