Simple tagging for django

Related tags

Django django-taggit
Overview

django-taggit

Jazzband GitHub Actions https://codecov.io/gh/jazzband/django-taggit/coverage.svg?branch=master

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

django-taggit a simpler approach to tagging with Django. Add "taggit" to your INSTALLED_APPS then just add a TaggableManager to your model and go:

from django.db import models

from taggit.managers import TaggableManager


class Food(models.Model):
    # ... fields here

    tags = TaggableManager()

Then you can use the API like so:

>>> apple = Food.objects.create(name="apple")
>>> apple.tags.add("red", "green", "delicious")
>>> apple.tags.all()
[<Tag: red>, <Tag: green>, <Tag: delicious>]
>>> apple.tags.remove("green")
>>> apple.tags.all()
[<Tag: red>, <Tag: delicious>]
>>> Food.objects.filter(tags__name__in=["red"])
[<Food: apple>, <Food: cherry>]

Tags will show up for you automatically in forms and the admin.

django-taggit requires Django 1.11 or greater.

For more info check out the documentation. And for questions about usage or development you can contact the mailinglist.

Comments
  • Migration failure with Django 1.7.2 and sqlite database when using a through model.

    Migration failure with Django 1.7.2 and sqlite database when using a through model.

    I'm not entirely sure whether this is an issue with taggit or Django itself, but since I can only reproduce it with taggit I'm reporting it here. Feel free to close as a Django issue if you think this isn't anything to do with taggit.

    When using a through model with taggit and Django 1.7.2, migrations always fail with an OperationalError. This only occurs (as far as I know) with the sqlite backend, PostgreSQL, at least, is fine.

    To reproduce

    Create a simple project with an app with the following models.py

    from django.db import models
    from taggit.managers import TaggableManager
    from taggit.models import TaggedItemBase
    
    
    class BugTag(TaggedItemBase):
    
        content_object = models.ForeignKey('Bug')
        note = models.CharField(max_length=50)
    
    
    class Bug(models.Model):
    
        name = models.CharField(max_length=100)
        tags = TaggableManager(through=BugTag)
    

    Make your initial migrations with manage.py makemigrations <appname> then run with manage.py migrate.

    The migrate command will fail with an exception like:

        Operations to perform:
      Apply all migrations: sessions, admin, auth, contenttypes, taggit, bug
    Running migrations:
      Applying bug.0001_initial...Traceback (most recent call last):
      File "./manage.py", line 7, in <module>
        execute_from_command_line(sys.argv)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
        utility.execute()
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
        self.execute(*args, **options.__dict__)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
        output = self.handle(*args, **options)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 161, in handle
        executor.migrate(targets, plan, fake=options.get("fake", False))
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 68, in migrate
        self.apply_migration(migration, fake=fake)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 102, in apply_migration
        migration.apply(project_state, schema_editor)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/migrations/migration.py", line 108, in apply
        operation.database_forwards(self.app_label, schema_editor, project_state, new_state)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/migrations/operations/fields.py", line 37, in database_forwards
        field,
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/sqlite3/schema.py", line 177, in add_field
        self._remake_table(model, create_fields=[field])
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/sqlite3/schema.py", line 145, in _remake_table
        self.quote_name(model._meta.db_table),
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/schema.py", line 103, in execute
        cursor.execute(sql, params)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 81, in execute
        return super(CursorDebugWrapper, self).execute(sql, params)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute
        return self.cursor.execute(sql, params)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
        six.reraise(dj_exc_type, dj_exc_value, traceback)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute
        return self.cursor.execute(sql, params)
      File "/home/username/.virtualenvs/sqlitebug/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 485, in execute
        return Database.Cursor.execute(self, query, params)
    django.db.utils.OperationalError: table bug_bug__new has no column named tags
    

    The SQL causing the issue is:

    SELECT name FROM sqlite_master
        WHERE type in ('table', 'view') AND NOT name='sqlite_sequence'
        ORDER BY name
    BEGIN
    CREATE TABLE "bug_bug" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(100) NOT NULL)
    CREATE TABLE "bug_bugtag" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "note" varchar(50) NOT NULL, "content_object_id" integer NOT NULL REFERENCES "bug_bug" ("id"), "tag_id" integer NOT NULL REFERENCES "taggit_tag" ("id"))
    CREATE TABLE "bug_bug__new" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(100) NOT NULL)
    INSERT INTO "bug_bug__new" ("tags", "id", "name") SELECT NULL, "id", "name" FROM "bug_bug"
    

    Django 1.7.1 doesn't exhibit the issue, and it's present in both the develop branch of taggit and the latest, 0.12.2, release.

    opened by lpomfrey 25
  • Django 1.8 support

    Django 1.8 support

    Addresses #284

    This brings Taggit up to speed with Django 1.8 beta 2. There may be more work to do before the final release but this should get us most of the way there.

    opened by kaedroho 15
  • django 1.7 auto create migrations

    django 1.7 auto create migrations

    Hi,

    running makemigrations autocreate a migration for taggit with this content...

    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.db import models, migrations
    
    
    class Migration(migrations.Migration):
    
        dependencies = [
            ('taggit', '0001_initial'),
        ]
    
        operations = [
            migrations.AlterField(
                model_name='taggeditem',
                name='content_type',
                field=models.ForeignKey(related_name='taggit_taggeditem_tagged_items', verbose_name='Content type', to='contenttypes.ContentType'),
            ),
            migrations.AlterField(
                model_name='taggeditem',
                name='tag',
                field=models.ForeignKey(related_name='taggit_taggeditem_items', to='taggit.Tag'),
            ),
        ]
    
    opened by arescope 15
  • Django - 1.7 error when I use django-taggit

    Django - 1.7 error when I use django-taggit

    I have added 'taggit' in INSTALLED_APPS.

    Following is my model code,

    class BlogEntry(models.Model):
       title = models.CharField(max_length=100)
       slug = models.SlugField()
       text = MarkupField(default_markup_type=getattr(settings,
                                                   'DEFAULT_MARKUP_TYPE',
                                                   'plain'),
                       markup_choices=getattr(settings, "MARKUP_RENDERERS",
                                              DEFAULT_MARKUP_TYPES))
      summary = models.TextField()
      created_on = models.DateTimeField(default=datetime.max, editable=False)
      created_by = models.ForeignKey(User, unique=False)
      is_page = models.BooleanField(default=False)
      is_published = models.BooleanField(default=True)
      published_date = models.DateTimeField()
      comments_allowed = models.BooleanField(default=True)
      is_rte = models.BooleanField(default=False)
    
      meta_keywords = models.TextField(blank=True, null=True)
      meta_description = models.TextField(blank=True, null=True)
    
      tags = TaggableManager()
    
      default = models.Manager()
      objects = BlogPublishedManager()
    

    I am getting following error when I run manage.py makemigrations

    /home/hp/django-trunk/django/contrib/comments/init.py:10: DeprecationWarning: django.contrib.comments is deprecated and will be removed before Django 1.8. warnings.warn("django.contrib.comments is deprecated and will be removed before Django 1.8.", DeprecationWarning)

    /usr/local/lib/python2.7/dist-packages/taggit/managers.py:279: DeprecationWarning: _TaggableManager.get_prefetch_query_set method should be renamed get_prefetch_queryset. class _TaggableManager(models.Manager):

    Traceback (most recent call last): File "./manage.py", line 10, in execute_from_command_line(sys.argv) File "/home/hp/django-trunk/django/core/management/init.py", line 426, in execute_from_command_line utility.execute() File "/home/hp/django-trunk/django/core/management/init.py", line 418, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/hp/django-trunk/django/core/management/base.py", line 244, in run_from_argv self.execute(_args, *_options.dict) File "/home/hp/django-trunk/django/core/management/base.py", line 291, in execute output = self.handle(_args, *_options) File "/home/hp/django-trunk/django/core/management/commands/makemigrations.py", line 75, in handle ProjectState.from_apps(apps), File "/home/hp/django-trunk/django/db/migrations/state.py", line 61, in from_apps model_state = ModelState.from_model(model) File "/home/hp/django-trunk/django/db/migrations/state.py", line 134, in from_model e, TypeError: Couldn't reconstruct m2m field tags on BlogEntry: init() got an unexpected keyword argument 'serialize'

    opened by AnishShah 14
  • Rename and move doc/changelog.txt to CHANGELOG.txt. Modify MANIFESTin

    Rename and move doc/changelog.txt to CHANGELOG.txt. Modify MANIFESTin

    Rename and move doc/changelog.txt to CHANGELOG.txt. Modify MANIFESTin so that additional files such as LICENSE, AUTHOR etc will be packaged. Needed to comply with rpm packaging standards.

    opened by rihoward 14
  • KeyError on similar_objects

    KeyError on similar_objects

    Traceback:
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
      111.                         response = callback(request, *callback_args, **callback_kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in _wrapped_view
      23.                 return view_func(request, *args, **kwargs)
    File "/home/ubuntu/web/notewagon-django/notewagon/views.py" in view_course
      120.     related = course.tags.similar_objects()
    File "/usr/local/lib/python2.7/dist-packages/taggit/utils.py" in inner
      125.         return func(self, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/taggit/managers.py" in similar_objects
      230.                 tuple(result[k] for k in lookup_keys)
    
    Exception Type: KeyError at /s/university-of-waterloo/fdsg1yl7dk/math-115-linear-algebra-eng
    Exception Value: (35L, 1755L)
    

    The steps to the trace above are as follows:

    1. import/scrape a bunch of Resource items (I used youtube videos) and create tags based on the tags in the video
    2. add some tags to a Course ("Linear Algebra", vectors, eigenvalues, etc)
    3. observe error
    opened by karanbhangui 14
  • Endless loop in MySQL database when editing existing objects

    Endless loop in MySQL database when editing existing objects

    Hi there,

    If I try to add tags to existing objects in my database I end in an endless loop in my MySQL even though the tag does not contain non ASCII-characters. From my database logs:

            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1309')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1310
            585320 Query    SAVEPOINT s1211934272_x1311
            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1310')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1311
            585320 Query    SAVEPOINT s1211934272_x1312
            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1311')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1312
            585320 Query    SAVEPOINT s1211934272_x1313
            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1312')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1313
            585320 Query    SAVEPOINT s1211934272_x1314
            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1313')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1314
            585320 Query    SAVEPOINT s1211934272_x1315
            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1314')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1315
            585320 Query    SAVEPOINT s1211934272_x1316
            585320 Query    INSERT INTO `taggit_tag` (`name`, `slug`) VALUES ('wikimedia', 'wikimedia_1315')
            585320 Query    ROLLBACK TO SAVEPOINT s1211934272_x1316
    

    I can only fix this by restarting the web server. The database uses utf8 as character set and utf8_general_ci as collation.

    opened by plaetzchen 13
  • Issue Adding Multiple TaggableManagers to a Model (or) through parameter does not respect related_name

    Issue Adding Multiple TaggableManagers to a Model (or) through parameter does not respect related_name

    I can't get a custom through field to validate with multiple TaggableManagers on a Model

    # -- models.py
    from django.db import models
    from taggit.managers import TaggableManager
    from taggit.models import Tag
    
    class TaggedSkills(models.Model):
       a = models.ForeignKey("ModelA")
       tag = models.ForeignKey(Tag, related_name="%(class)s_skills")
    
    class TaggedInterests(models.Model):
       a = models.ForeignKey("ModelA")
       tag = models.ForeignKey(Tag, related_name="%(class)s_interests")
    
    class TaggedLimitations(models.Model):
       a = models.ForeignKey("ModelA")
       tag = models.ForeignKey(Tag, related_name="%(class)s_limitations")
    
    class ModelA(models.Model):
    
       skills = TaggableManager(through=TaggedSkills)
       interests = TaggableManager(through=TaggedInterests)
       limitations = TaggableManager(through=TaggedLimitations)
    

    Running

    $ manage.py validate
    Error: One or more models did not validate:
    a.modela: Accessor for m2m field 'skills' clashes with related m2m field 'Tag.modela_set'. Add a related_name argument to the definition for 'skills'.
    a.modela: Accessor for m2m field 'skills' clashes with related m2m field 'Tag.modela_set'. Add a related_name argument to the definition for 'skills'.
    a.modela: Accessor for m2m field 'interests' clashes with related m2m field 'Tag.modela_set'. Add a related_name argument to the definition for 'interests'.
    a.modela: Accessor for m2m field 'interests' clashes with related m2m field 'Tag.modela_set'. Add a related_name argument to the definition for 'interests'.
    a.modela: Accessor for m2m field 'limitations' clashes with related m2m field 'Tag.modela_set'. Add a related_name argument to the definition for 'limitations'.
    a.modela: Accessor for m2m field 'limitations' clashes with related m2m field 'Tag.modela_set'. Add a related_name argument to the definition for 'limitations'.
    
    opened by issackelly 13
  • tag saving does not play well with transaction.atomic

    tag saving does not play well with transaction.atomic

    The following code

        tags = [ 'some_Tag_that_alreay_exists_with_different_capitalisation' ]
        with atomic():
            someobject.tags.add(*tags)
    

    explodes with a

    TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.

    As far as I see, this is caused by the loop in models.py:36, which tries to invent a new slug if it already exists and does savepoints and rollbacks. However, that kind of transaction handling does not seem to play well with transaction.atomic().

    Perhaps taggit should dump the idea of differencing between tags with different capitalisation altogether (really want to have "Sales" and "sales" tags??) and just map them to the same item?

    opened by mjl 12
  • Django 1.10 throws admin.E013 error

    Django 1.10 throws admin.E013 error

    With Django 1.10 comes a slight change to how ModelAdmins are validated that will cause an admin.E013 error if you attempt to include a TaggableManager field, such as 'tags' in a fields or fieldsets in your admin.

    The error will say something like, "(admin.E013) The value of 'fieldsets[0][1]["fields"]' cannot include the many-to-many field 'tags' because that field manually specifies a relationship model."

    This is because, in the admin system check code the check used to ignore django-taggit's TaggableManager because TaggableManager wasn't a subclass of ManyToManyField, but now it checks if many_to_many is True, which it is for TaggableManager, so this check now pays attention to django-taggit. And now that's it's paying attention to django-taggit, it will prevent Django from starting since our field is defining a custom through relationship, even though there is nothing special about it and it works fine as long as the check passes.

    I found a workaround with is to add the auto_created = True Meta tag to your custom through class:

    class TaggedFood(TaggedItemBase):
        content_object = models.ForeignKey('Food')
    
        class Meta:
             auto_created = True
    

    Or to TaggedItemBase in django-taggit:

    class TaggedItemBase(ItemBase):
        class Meta:
            abstract = True
            auto_created = True
    

    However, this seems like a horrible hack just to pass the system check. Any thoughts on how to fix this properly? What all does the many_to_many = True setting do?

    opened by nshafer 11
  • Contributor guidelines

    Contributor guidelines

    We should agree on guidelines for contributing to the project. The generally accepted norm is to provide a CONTRIBUTING file in the root of the repository with basic instructions on how/what to contribute to the repository.

    Some initial suggestions would include:

    • All code should pass linting by flake8 (configuration provided)
    • Contributors should make every effort not to decrease the test coverage of the project in their submissions
    opened by prydie 11
  • Filter exact through tags

    Filter exact through tags

    I'm trying to do this:

    _q =  ["tag1","tag2]
    
    Message.objects.filter(Q(tags__name__in=_q)).distinct().order_by('timestamp')
    

    Now I want a result, where every message has exact those two tags - not just one of them. I've tried it with __name__exact=_q, but it isn't working. Any ideas how to solve this issue?

    opened by pancakeDevelopment 0
  • TypeError: Object of type _TaggableManager is not JSON serializable

    TypeError: Object of type _TaggableManager is not JSON serializable

    I am using django-taggit, django-parler, django-parler-rest and django-rest-framework on my project and getting following errors when trying to get or add object.

    • When I create object on admin page it is not accepting tags and leaves field empty, if I create tags manually getting errorValueError: language_code can't be null, use translation.activate(..) when accessing translated models outside the request/response loop.
    • When trying to get objects through API, getting error TypeError: Object of type _TaggableManager is not JSON serializable

    models.py

    class Post(TimeStampedModel):
        translations = TranslatedFields(
          name = models.CharField(
              max_length=255,
              db_index=True,
          ),
          slug = models.SlugField(
              max_length=255,
              db_index=True,
              unique=True,
          )
          tags = TaggableManager(),
        )
    

    serializer.py

    class PostSerializer(TaggitSerializer, TranslatableModelSerializer):
        tags = TagListSerializerField()
        translations = TranslatedFieldsField(shared_model=Posts)
        
        class Meta:
            model = Posts
            fields = [
                "id",
                "name",
                "translations",
                "tags",
            ]
    
    opened by mirodil1 0
  • Create Tag without a foreign-key'd model

    Create Tag without a foreign-key'd model

    Hi, is there a way to create indepentend tags like:

    Tag.objects.create(name="Tag name", slug="tag-name")

    Reason: In my use case are allowed to create tags an users can use the pre-defined tags. So users should not be allowed to create new ones.

    question 
    opened by pancakeDevelopment 1
  • get() returned more than one Tag -- it returned 2!

    get() returned more than one Tag -- it returned 2!

    Hello Sometimes when adding tags to an existing object, I am getting the following error.

    get() returned more than one Tag -- it returned 2!
    

    Here is the code I am using

    ...
    publication.tags.set(all_tags, clear=True)
    publication.save()
    # I also tried
    publication.tags.set(all_tags)
    publication.save()
    # and
    publication.tags.add(*all_tags)
    publication.save()
    # but still getting the same issue
    ...
    

    Notes:

    • I am not using any get function
    • Django version 4.1
    good first issue bug 
    opened by naskio 5
Django URL Shortener is a Django app to to include URL Shortening feature in your Django Project

Django URL Shortener Django URL Shortener is a Django app to to include URL Shortening feature in your Django Project Install this package to your Dja

Rishav Sinha 4 Nov 18, 2021
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
Twitter Bootstrap for Django Form - A simple Django template tag to work with Bootstrap

Twitter Bootstrap for Django Form - A simple Django template tag to work with Bootstrap

tzangms 557 Oct 19, 2022
Django-static-site - A simple content site framework that harnesses the power of Django without the hassle

coltrane A simple content site framework that harnesses the power of Django with

Adam Hill 57 Dec 6, 2022
Django Starter is a simple Skeleton to start with a Django project.

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

Numan Ibn Mazid 1 Jan 10, 2022
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 9, 2022
Meta package to combine turbo-django and stimulus-django

Hotwire + Django This repository aims to help you integrate Hotwire with Django ?? Inspiration might be taken from @hotwired/hotwire-rails. We are sti

Hotwire for Django 31 Aug 9, 2022
django-reversion is an extension to the Django web framework that provides version control for model instances.

django-reversion django-reversion is an extension to the Django web framework that provides version control for model instances. Requirements Python 3

Dave Hall 2.8k Jan 2, 2023
Django-environ allows you to utilize 12factor inspired environment variables to configure your Django application.

Django-environ django-environ allows you to use Twelve-factor methodology to configure your Django application with environment variables. import envi

Daniele Faraglia 2.7k Jan 7, 2023
Rosetta is a Django application that eases the translation process of your Django projects

Rosetta Rosetta is a Django application that facilitates the translation process of your Django projects. Because it doesn't export any models, Rosett

Marco Bonetti 909 Dec 26, 2022
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
Django project starter on steroids: quickly create a Django app AND generate source code for data models + REST/GraphQL APIs (the generated code is auto-linted and has 100% test coverage).

Create Django App ?? We're a Django project starter on steroids! One-line command to create a Django app with all the dependencies auto-installed AND

imagine.ai 68 Oct 19, 2022
django-quill-editor makes Quill.js easy to use on Django Forms and admin sites

django-quill-editor django-quill-editor makes Quill.js easy to use on Django Forms and admin sites No configuration required for static files! The ent

lhy 139 Dec 5, 2022
A Django chatbot that is capable of doing math and searching Chinese poet online. Developed with django, channels, celery and redis.

Django Channels Websocket Chatbot A Django chatbot that is capable of doing math and searching Chinese poet online. Developed with django, channels, c

Yunbo Shi 8 Oct 28, 2022
A handy tool for generating Django-based backend projects without coding. On the other hand, it is a code generator of the Django framework.

Django Sage Painless The django-sage-painless is a valuable package based on Django Web Framework & Django Rest Framework for high-level and rapid web

sageteam 51 Sep 15, 2022
A beginner django project and also my first Django project which involves shortening of a longer URL into a short one using a unique id.

Django-URL-Shortener A beginner django project and also my first Django project which involves shortening of a longer URL into a short one using a uni

Rohini Rao 3 Aug 8, 2021
Dockerizing Django with Postgres, Gunicorn, Nginx and Certbot. A fully Django starter project.

Dockerizing Django with Postgres, Gunicorn, Nginx and Certbot ?? Features A Django stater project with fully basic requirements for a production-ready

null 8 Jun 27, 2022
pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-django allows you to test your Django project/applications with the pytest testing tool.

pytest-dev 1.1k Dec 14, 2022
APIs for a Chat app. Written with Django Rest framework and Django channels.

ChatAPI APIs for a Chat app. Written with Django Rest framework and Django channels. The documentation for the http end points can be found here This

Victor Aderibigbe 18 Sep 9, 2022