A Django app that creates automatic web UIs for Python scripts.

Overview

Wooey!

Build Status Deploy-To-Pypi Deploy-To-Docker codecov Join the chat at https://gitter.im/wooey/Wooey

Wooey is a simple web interface to run command line Python scripts. Think of it as an easy way to get your scripts up on the web for routine data analysis, file processing, or anything else.

Wooey was envisioned as a system to allow data analysts to be able to easily:

1. Autodocument workflows for data analysis
    (simple model saving).
2. Enable fellow co-workers with no command line
    experience to utilize python scripts.
3. Enable the easy wrapping of any program in simple
   python instead of having to use language specific 
   to existing tools such as Galaxy.

For installation and other instructions, check out our documentation or give Wooey a test drive at our demo-server!

Comments
  • Celery TypeError

    Celery TypeError "cannot serialize '_io.BufferedReader' object

    I just updated my Wooey install to today's new version and immediately hit a problem. Any script I try to run returns an error (with live updating, which is wonderful!) and in the Celery worker window I get the following message:

    [2016-07-28 09:16:07,984: INFO/MainProcess] Received task: wooey.tasks.submit_script[add3df58-d675-44f0-8380-6ac85089df08]
    [2016-07-28 09:16:08,121: ERROR/MainProcess] Task wooey.tasks.submit_script[add3df58-d675-44f0-8380-6ac85089df08] raised unexpected: TypeError("cannot serialize '_io.BufferedReader' object",)
    Traceback (most recent call last):
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\celery\app\trace.py", line 240, in trace_task
        R = retval = fun(*args, **kwargs)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\celery\app\trace.py", line 438, in __protected_call__
        return self.run(*args, **kwargs)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\wooey\tasks.py", line 109, in submit_script
        qout, pout = output_monitor_queue(proc.stdout)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\wooey\tasks.py", line 41, in output_monitor_queue
        p.start()
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\process.py", line 137, in start
        self._popen = Popen(self)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\forking.py", line 263, in __init__
        dump(process_obj, to_child, HIGHEST_PROTOCOL)
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\py3\reduction.py", line 60, in dump
        ForkingPickler(file, protocol).dump(obj)
    TypeError: cannot serialize '_io.BufferedReader' object
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\rollinga\AppData\Local\Programs\Python\Python35-32\lib\site-packages\billiard\forking.py", line 459, in main
        self = load(from_parent)
    EOFError: Ran out of input
    

    I tried downgrading my Celery install from 3.1.23, first to 3.1.15 then to 3.1.12 (which is what I had before the Wooey upgrade) to no avail. Do you have any suggestions?

    bug python3 
    opened by arolling 35
  • wooify fails with django 1.9

    wooify fails with django 1.9

    Installing latest wooey on Python 3.4.3 on Win7 65bit, without previous install of django, installed django 1.9. Running wooify -p test caused this error:

    λ wooify --version
    Traceback (most recent call last):
      File "d:\anaconda3\lib\runpy.py", line 170, in _run_module_as_main
        "__main__", mod_spec)
      File "d:\anaconda3\lib\runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "D:\Anaconda3\Scripts\wooify.exe\__main__.py", line 5, in <module>
      File "d:\anaconda3\lib\site-packages\wooey\backend\command_line.py", line 8, in <module>
        from .. import django_compat
      File "d:\anaconda3\lib\site-packages\wooey\django_compat.py", line 51, in <module>
        from django.contrib.contenttypes.fields import GenericForeignKey
      File "d:\anaconda3\lib\site-packages\django\contrib\contenttypes\fields.py", line 5, in <module>
        from django.contrib.contenttypes.models import ContentType
      File "d:\anaconda3\lib\site-packages\django\contrib\contenttypes\models.py", line 159, in <module>
        class ContentType(models.Model):
      File "d:\anaconda3\lib\site-packages\django\db\models\base.py", line 94, in __new__
        app_config = apps.get_containing_app_config(module)
      File "d:\anaconda3\lib\site-packages\django\apps\registry.py", line 239, in get_containing_app_config
        self.check_apps_ready()
      File "d:\anaconda3\lib\site-packages\django\apps\registry.py", line 124, in check_apps_ready
        raise AppRegistryNotReady("Apps aren't loaded yet.")
    django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
    

    Installing django 1.8 (pip install django==1.8) fixed it (albeit giving a different error, I'll look into it and open a different issue if needed).

    opened by yoavram 19
  • job expiration not working

    job expiration not working

    Hi ,

    I still have problem with WOOEY_JOB_EXPIRATION parameter. I set this to:

    user_job_expire=timedelta(hours=1) anonymous_job_expire=timedelta(minutes=10)

    WOOEY_JOB_EXPIRATION = {'user':user_job_expire,'anonymous':anonymous_job_expire}

    But no success. Please help me to fix

    Aidas

    opened by aydas 17
  • Import files to script

    Import files to script

    How can I import my custom files?
    I need to use my files inside the script.
    print(os.path.dirname(sys.argv[0])) gives me /opt/DO_wooey/media/wooey_scripts, I decided to put my custom files in this directory, but it does not work, the script still gives me this error: OSError: SavedModel file does not exist at: test_build/{saved_model.pbtxt|saved_model.pb}. screen shot 2017-08-21 at 23 43 25

    opened by toert 17
  • Script url changes

    Script url changes

    This addresses an issue raised in #43. It creates a new scheme for script urls and versions and adds in a dropdown box for the user to select older scripts.

    opened by Chris7 17
  • Non-UTF-8 code in django-admin.exe but no encoding declared

    Non-UTF-8 code in django-admin.exe but no encoding declared

    Running wooify -p test produces:

      File "D:\Anaconda3\envs\wooey\Scripts\django-admin.exe", line 1
    SyntaxError: Non-UTF-8 code starting with '\x90' in file D:\Anaconda3\envs\wooey\Scripts\django-admin.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
    Traceback (most recent call last):
      File "d:\anaconda3\envs\wooey\lib\runpy.py", line 170, in _run_module_as_main
        "__main__", mod_spec)
      File "d:\anaconda3\envs\wooey\lib\runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "D:\Anaconda3\envs\wooey\Scripts\wooify.exe\__main__.py", line 9, in <module>
      File "d:\anaconda3\envs\wooey\lib\site-packages\wooey\backend\command_line.py", line 81, in bootstrap
        with open(to_name, 'wb') as new_file:
    FileNotFoundError: [Errno 2] No such file or directory: 'D:\\workspace\\wooeytest\\test\\test\\.\\middleware.py'
    

    Windows 7, 64bit, Python 3.4.3, Django 1.8.4, wooey 0.9.1.

    opened by yoavram 15
  • i18n: Add translation files for de, fr, nl.

    i18n: Add translation files for de, fr, nl.

    To begin process of adding working i18n these files add base translations from the current strings. They are machine translated using Google's service (https://translate.google.com/toolkit/) and so likely broken.

    The NL looks vaguely right to my limited knowledge but I will check them all with native speakers.

    opened by mfitzp 15
  • Can not execute the task when I add TEMPLATES.DIRS

    Can not execute the task when I add TEMPLATES.DIRS

    I want to custom the templates, so I add the string "os.path.join(BASE_DIR, 'templates')," into the DIRS list of settings.TEMPLATES, then I copy the templates directory to my project. I can custom the templates successfully, but get the following errors when I execute the task: 10:54:49 web.1 | Internal Server Error: /scripts/violinplot/ 10:54:49 web.1 | Traceback (most recent call last): 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/utils/datastructures.py", line 83, in getitem 10:54:49 web.1 | list_ = super(MultiValueDict, self).getitem(key) 10:54:49 web.1 | KeyError: 'wooey_type' 10:54:49 web.1 | 10:54:49 web.1 | During handling of the above exception, another exception occurred: 10:54:49 web.1 | 10:54:49 web.1 | Traceback (most recent call last): 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/core/handlers/base.py", line 149, in get_response 10:54:49 web.1 | response = self.process_exception_by_middleware(e, request) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/core/handlers/base.py", line 147, in get_response 10:54:49 web.1 | response = wrapped_callback(request, *callback_args, **callback_kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/views/generic/base.py", line 68, in view 10:54:49 web.1 | return self.dispatch(request, *args, **kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/views/generic/base.py", line 88, in dispatch 10:54:49 web.1 | return handler(request, *args, **kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/wooey/views/views.py", line 160, in post 10:54:49 web.1 | data = super(WooeyScriptView, self).post(*args, **kwargs) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/wooey/views/views.py", line 91, in post 10:54:49 web.1 | form = utils.get_master_form(pk=post['wooey_type']) 10:54:49 web.1 | File "/home/xujm/soft/Anaconda/anaconda3/envs/wooey/lib/python3.5/site-packages/django/utils/datastructures.py", line 85, in getitem 10:54:49 web.1 | raise MultiValueDictKeyError(repr(key)) 10:54:49 web.1 | django.utils.datastructures.MultiValueDictKeyError: "'wooey_type'"

    opened by zjhzxjm 14
  • True/False params are not output when executing a command

    True/False params are not output when executing a command

    Hey guys, I have an argument that looks like this:

    main_options_group.add_argument('--my_optional_arg', default=False, action='store_true')
    

    This is correctly stored as a ScriptParameters object when I tick the checkbox in the Wooey interface. However when Celery executes the command it does not include --my_optional_arg in the command that is executed.

    Looking at the source, it seems that param.get_subprocess_value() does not return a "value" for the param, causing the condition in the "if" statement on line 79 of utils.py to fail and ultimately preventing the param from being output correctly.

    See my pdb log below. You can see that after executing line 78 "subproc_value" is None, despite param.value being True

    (Pdb) l
     73             if subproc_dict is None:
     74                 continue
     75             subproc_param = subproc_dict['parameter']
     76             if subproc_param not in param_dict:
     77                 param_dict[subproc_param] = []
     78  ->         subproc_value = subproc_dict.get('value', None)
     79             if subproc_value:
     80                 param_dict[subproc_param].append(subproc_value)
     81         for param, values in param_dict.items():
     82             for value in values:
     83                 if param:
    (Pdb) n
    > .../wooey/backend/utils.py(79)get_job_commands()
    -> if subproc_value:
    (Pdb) subproc_value
    (Pdb) param._value
    u'true'
    (Pdb) param.value
    True
    (Pdb) param.get_subprocess_value()
    {u'parameter': u'--my_optional_arg'}
    
    opened by hottwaj 14
  • WOOEY_REALTIME_CACHE is not work for me

    WOOEY_REALTIME_CACHE is not work for me

    Please, show working example of useing it. How must I set my settings for the realtime update of the script output? I see only one result after end of my script.

    opened by abicorios 12
  • Cannot start Celery process

    Cannot start Celery process

    Hi, as someone new to Django I've been trying to use Wooey as a front end to several testing scripts. Unfortunately, running them without Celery seems to block everything and crash and I can't manage to get Celery running. As per the documentation (I'm on Windows), I've been running

    python manage.py celery beat
    python manage.py celery worker -c 1 -l info
    python manage.py runserver
    

    but the celery worker process never really starts. The relevant error seems to be:

    [2016-06-22 13:53:35,522: INFO/Worker-1] child process 7068 calling self.run()
    [2016-06-22 13:53:35,663: ERROR/Worker-1] Process Worker-1
    Traceback (most recent call last):
      File "C:\{path}\Programs\Python\Python35-32\lib\site-packages\kombu\utils\__init__.py", line 323, in __get__
        return obj.__dict__[self.__name__]
    KeyError: 'backend'
    

    Then a series of cascading errors, then something like Process 'Worker-14' pid:4992 exited with 'exitcode 1'. I have spent a lot of time trying to google the source of the problem, but I am too new to Django and Celery to figure this out. Is there something I should have done, that is so basic it isn't in the docs?

    Alternately, the scripts we are trying to run with Wooey seem to work perfectly fine with Celery flagged as false, as long as we take the threading out of them (which is used to send and receive data through a serial port). Will getting Celery running solve this problem or is this too far away from the intended usage of Wooey?

    opened by arolling 12
  • Documentation not building

    Documentation not building

    I ran into some questions not covered in the documentation. Through the issues here and, trial and error I managed to figure it out. My plan was to add some information to the docs for other users. However, it seems that the docs on readthedocs are not the same as here on Github and I also can´t build the docs myself through Sphinx. Is there perhaps an issue with the setup of the docs?

    opened by michielap 0
  • problem with Python3.10 and Ubuntu 22.04

    problem with Python3.10 and Ubuntu 22.04

    Dear developper

    I have a problem. I was using wooey on ubuntu 20.04 and python3.8 and it was working perfectly. However, last week i update ubuntu and python and now it is not working anymore. the problem is that i get error in the wooey web server but i can not find out any information about the error to try to debug.

    can you please help me?

    cheers Luigi

    opened by lfaino 0
  • Official Docker Image

    Official Docker Image

    Was glad to see Wooey available on docker. https://hub.docker.com/u/wooey I downloaded the latest image and ran it , but it only executes the tests and then exists. What am i missing ?

    documentation request 
    opened by pymenow 5
  • Is there any way to add Scrapy based project in Wooey ?

    Is there any way to add Scrapy based project in Wooey ?

    I want to add some of my Scrapy based projects Wooey. As I can see only single script based project can be added in Wooey, so I want to know, is there any way to add Scrapy like project which have a file structure with multiple scripts?

    opened by adnan-alam 1
  • Mutually exclusive groups don't appear to work

    Mutually exclusive groups don't appear to work

    A parser with a mutually exclusive argument group behaves pretty strangely. I've noted two problems:

    • The arguments always end up as optional, even if the group is marked as required.
      • This is really the larger issue for me
    • You can enter input for both and don't get an error until the script actually runs

    Here's a small script recreating both issues:

    import argparse
    import sys
    
    parser = argparse.ArgumentParser(
        description="Parser with required mutually exclusive group."
    )
    parser.add_argument("--arg", type=str, required=True)
    
    mutex_grp = parser.add_mutually_exclusive_group(required=True)
    mutex_grp.add_argument("--first", action="store_true")
    mutex_grp.add_argument("--second", action="store_true")
    
    
    def main():
        args = parser.parse_args()
        print(args)
        return 0
    
    
    if __name__ == "__main__":
        sys.exit(main())
    

    I think Gooey has support for mutex groups, so maybe inspiration can be taken from there?

    bug 
    opened by slarse 2
  • Python script works on command line but not in Wooey

    Python script works on command line but not in Wooey

    I've got a non-technical employee that needs access to Python scripts that we need to use to conduct our business. I've gotten Wooey working but one of the scripts breaks. I love this concept - my employee doesn't understand Python, Linux, or any other myriad of aspects involved with running this script. So, if I can get this working, it'll be awesome.

    The script is called dnstwist.py (https://github.com/elceef/dnstwist/blob/master/dnstwist.py). In the Wooey console, it generates the following errors:

    Traceback (most recent call last): File "/home/ubuntu/twisty/twisty/user_uploads/wooey_scripts/dnstwist.py", line 1009, in main() File "/home/ubuntu/twisty/twisty/user_uploads/wooey_scripts/dnstwist.py", line 1003, in main p_cli(generate_cli(domains)) File "/home/ubuntu/twisty/twisty/user_uploads/wooey_scripts/dnstwist.py", line 120, in p_cli sys.stdout.write(data) UnicodeEncodeError: 'ascii' codec can't encode characters in position 3628-3629: ordinal not in range(128)

    I'm pretty sure it has to do with how the data is formatted in 3 columns in the output but I don't know how to fix it. Any help would be greatly appreciated.

    opened by razermouse 8
Releases(v0.13.2)
  • v0.13.2(Oct 5, 2022)

    Note: 0.13.0/1 were failed releases due to github action issues. This is a light release, mostly around bug fixes and minor quality of life improvements.

    New Features

    Scripts now track who created and last updated them #354

    Improvements

    Improvements to task error tracking #340 ScriptParameter field extended to support users who have a LOT of choices #351

    Fixes

    Search works again #355 Scrapbook works again #339 Fixture loading #356

    Source code(tar.gz)
    Source code(zip)
  • v0.12.0(Apr 16, 2020)

    New Features

    Script deletion experience improved #313 Spanish translations added #306 Django 2.2 and Django 3.0 Support #284 Official Docker image added at https://hub.docker.com/r/wooey/wooey Admin interface added for Script Versions

    Updates

    Builds have been moved from Appveyor and Travis to Github Actions #314 Update to boto3 #304

    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Nov 30, 2019)

    Wooey 0.11.0

    New Features

    1. WooeyWidgets, which enable custom form input elements to be created and used. #175
    2. Korean translations added #254
    3. Improved UI to not allow job operations on message brokers that do not allow them. #285
    4. Django2 Support. #271

    Bug Fixes

    1. Fix bug where all parameters from all subparsers were needed to validate in order to submit a job. #299
    2. Fix bug with escaping parameter arguments that prevented special characters from being used. #296
    3. Fix bug where multiple initial files for a cloned job were not populated. #255
    4. Fix bug in parsing multiple arguments where argparse specifies action=append #270
    5. Fix bug in cleaning up empty jobs where workers cannot be contacted. #277
    6. Fix bug where scripts on remote workers were not invalidated after updates on main server. #145
    7. Fix race condition where celery tasks would start before database transaction finished. #297
    8. Handle characters in script version that need to be escaped for urls. #298
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(May 20, 2018)

    Wooey 0.10.0

    New Features

    1. Added docker files for development and example deployments!
    2. Better documentation!:
    1. Subparser Support! Subparsers are now supported for argparse. With this completed, we can begin adding support for other interfaces such as click
    2. Added checksums to scripts. Scripts now have a checksum so duplicate scripts are not created (and this paves the way for supporting better automatic updates of scripts)
    3. Jobs can be cloned into previous script versions. Previously, the clone button cloned a job into the latest version of a script. Now, jobs can be cloned into previous versions.

    Bug Fixes

    1. Errors from adding scripts are returned as a message instead of an Exception.
    2. Dead jobs are now automatically cleaned up. (this removes jobs that are in a state of limbo due to a server crash, etc.).
    3. Attempts to access a job that a user did not have permission to access resulted in a 500 error. This now shows the proper page indicating the user has no access to that job.
    4. Fixed parsing of default argument parameters that were lists or functions.
    5. Fixed zip files overwriting nested output.

    Version Support

    1. Supports Django 1.10/1.11 and Celery 4.x
    2. Dropped compatibility layers for Django 1.7 and python 3.3
    Source code(tar.gz)
    Source code(zip)
  • 0.9.10(Dec 20, 2017)

  • 0.9.9(Sep 5, 2017)

    This is a quick release to address https://github.com/wooey/Wooey/issues/189, where clinto was not reporting errors in parsing scripts through the frontend.

    Source code(tar.gz)
    Source code(zip)
  • 0.9.8(Jan 1, 2017)

    Wooey v0.9.8

    This is primarily a release to address issue #163 where updated scripts would duplicate group names. However, it is a huge release in terms of internationalization!

    New Features

    1. Internationalization is now enabled by default in the bootstrapped version of Wooey.
    2. Simplified Chinese support has been added thanks to @zjhzxjm!

    Bug Fixes

    1. Parameter groups could be duplicated
    2. New parameters on script updates would be made when parameter order was rearranged
    3. Fixed CSS issue causing the script search sidebar to be hidden
    Source code(tar.gz)
    Source code(zip)
  • 0.9.6(Nov 29, 2016)

  • 0.9.5(Sep 11, 2016)

    This addresses the remaining bugs from version 0.93: #148 and #149 -- Switch to using threads to monitor process output for better cross-platform compatibility #152 -- Fix for argumentless scripts.

    Source code(tar.gz)
    Source code(zip)
  • 0.9.4(Aug 16, 2016)

  • v0.9.3(Jul 28, 2016)

    Major Features

    Real time updates of Job status

    The output of scripts as well and execution status of a script will be updated in real time so there is no need to reload a page for job updates. By default, this makes use of the database to store job information, but can be easily configured to store this information in a cache layer via the WOOEY_REALTIME_CACHE setting.

    Improved updates to scripts

    Script parameters are now more intelligently created and parameters that are unchanged between script versions will not be updated. Via the command line, this behavior can be achieved by adding the --update flag to the addscript command and is automatically performed when updating scripts via the admin.

    Reduced file duplication

    Wooey now performs a checksum on uploaded files to identify duplicated files, and adds a permission layer to users that allows multiple users to access the same uploads (provided that user had the file in the first place to upload!). As an added benefit, this setup paves the way for a media dashboard that will allow users and groups to easily share files with one another.

    Minor Features

    • An awesome user, @manicmaniac , added translations for Japanese.
    • Automatic deletion of jobs older than a given date
    Source code(tar.gz)
    Source code(zip)
Owner
Wooey
Automatic web UIs for Python scripts
Wooey
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
Django-Audiofield is a simple app that allows Audio files upload, management and conversion to different audio format (mp3, wav & ogg), which also makes it easy to play audio files into your Django application.

Django-Audiofield Description: Django Audio Management Tools Maintainer: Areski Contributors: list of contributors Django-Audiofield is a simple app t

Areski Belaid 167 Nov 10, 2022
Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.

Django Activity Stream What is Django Activity Stream? Django Activity Stream is a way of creating activities generated by the actions on your site. I

Justin Quick 2.1k Dec 29, 2022
Packs a bunch of smaller CSS files together from 1 folder.

Packs a bunch of smaller CSS files together from 1 folder.

1 Dec 09, 2021
Add a help desk or knowledge base to your Django project with only a few lines of boilerplate code.

This project is no longer maintained. If you are interested in taking over the project, email Zapier 487 Dec 06, 2022

Awesome Django Blog App

Awesome-Django-Blog-App Made with love django as the backend and Bootstrap as the frontend ! i hope that can help !! Project Title Django provides mul

ANAS NABIL 2 Feb 08, 2022
WeatherApp - Simple Python Weather App

Weather App Please star this repo if you like ⭐ It's motivates me a lot! Stack A

Ruslan Shvetsov 3 Apr 18, 2022
Bootstrap 3 integration with Django.

django-bootstrap3 Bootstrap 3 integration for Django. Goal The goal of this project is to seamlessly blend Django and Bootstrap 3. Want to use Bootstr

Zostera B.V. 2.3k Jan 02, 2023
Logan is a toolkit for building standalone Django applications

Logan Logan is a toolkit for running standalone Django applications. It provides you with tools to create a CLI runner, manage settings, and the abili

David Cramer 206 Jan 03, 2023
Store model history and view/revert changes from admin site.

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

Jazzband 1.8k Jan 06, 2023
Forward and backwards compatibility layer for Django 1.4, 1.7, 1.8, 1.9, 1.10, and 1.11

django-compat Forward and backwards compatibility layer for Django 1.4 , 1.7 , 1.8, 1.9, 1.10 and 1.11 Consider django-compat as an experiment based o

arteria GmbH 106 Mar 28, 2022
Realworld - Realworld using Django and HTMX

Realworld - Realworld using Django and HTMX

Dan Jacob 53 Jan 05, 2023
An insecure login and registration website with Django.

An insecure login and registration website with Django.

Luis Quiñones Requelme 1 Dec 05, 2021
Learn Python and the Django Framework by building a e-commerce website

The Django-Ecommerce is an open-source project initiative and tutorial series built with Python and the Django Framework.

Very Academy 275 Jan 08, 2023
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 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
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
A simple trivia quizzz web app made using django

Trivia Quizzz A simple trivia quizzz web app made using django Demo http://triviaquizzz.herokuapp.com/ & https://triviaquiz.redcrypt.xyz Features Goog

Rachit Khurana 2 Feb 10, 2022
Exemplo de biblioteca com Django

Bookstore Exemplo de biblioteca feito com Django. Este projeto foi feito com: Python 3.9.7 Django 3.2.8 Django Rest Framework 3.12.4 Bootstrap 4.0 Vue

Regis Santos 1 Oct 28, 2021
An orgizational tool to keep track of tasks/projects and the time spent on them.

Django-Task-Manager Task Tracker using Python Django About The Project This project is an orgizational tool to keep track of tasks/projects and the ti

Nick Newton 1 Dec 21, 2021