├── django-managing-images ├── core │ ├── __init__.py │ ├── __pycache__ │ │ ├── urls.cpython-310.pyc │ │ ├── wsgi.cpython-310.pyc │ │ ├── __init__.cpython-310.pyc │ │ └── settings.cpython-310.pyc │ ├── urls.py │ ├── asgi.py │ └── wsgi.py ├── store │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-310.pyc │ │ │ └── 0001_initial.cpython-310.pyc │ │ └── 0001_initial.py │ ├── tests.py │ ├── views.py │ ├── admin.py │ ├── __pycache__ │ │ ├── admin.cpython-310.pyc │ │ ├── apps.cpython-310.pyc │ │ ├── models.cpython-310.pyc │ │ └── __init__.cpython-310.pyc │ └── apps.py ├── .DS_Store ├── db.sqlite3 ├── start_code.zip ├── media │ └── Custom_copy_111.png └── manage.py ├── django-channels-push-notification ├── core │ ├── core │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── asgi.cpython-310.pyc │ │ │ ├── urls.cpython-310.pyc │ │ │ ├── wsgi.cpython-310.pyc │ │ │ ├── __init__.cpython-310.pyc │ │ │ └── settings.cpython-310.pyc │ │ ├── urls.py │ │ ├── wsgi.py │ │ └── asgi.py │ ├── notification │ │ ├── __init__.py │ │ ├── migrations │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-310.pyc │ │ │ │ └── 0001_initial.cpython-310.pyc │ │ │ └── 0001_initial.py │ │ ├── tests.py │ │ ├── __pycache__ │ │ │ ├── apps.cpython-310.pyc │ │ │ ├── admin.cpython-310.pyc │ │ │ ├── models.cpython-310.pyc │ │ │ ├── views.cpython-310.pyc │ │ │ ├── __init__.cpython-310.pyc │ │ │ └── consumers.cpython-310.pyc │ │ ├── views.py │ │ ├── apps.py │ │ ├── models.py │ │ └── templates │ │ │ └── admin │ │ │ └── custom_add_form.html │ ├── db.sqlite3 │ ├── staticfiles │ │ └── admin │ │ │ ├── img │ │ │ ├── tooltag-arrowright.svg │ │ │ ├── README.txt │ │ │ ├── icon-addlink.svg │ │ │ ├── tooltag-add.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-yes.svg │ │ │ ├── search.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-no.svg │ │ │ ├── inline-delete.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown.svg │ │ │ └── icon-clock.svg │ │ │ ├── js │ │ │ ├── jquery.init.js │ │ │ ├── popup_response.js │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ └── i18n │ │ │ │ │ ├── zh-TW.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── af.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── lt.js │ │ │ │ │ └── pl.js │ │ │ ├── prepopulate_init.js │ │ │ └── change_form.js │ │ │ └── css │ │ │ └── dashboard.css │ └── manage.py ├── notes.md ├── .DS_Store └── requirements.txt ├── django-adminsite-multi-language-selection ├── example │ ├── __init__.py │ ├── __pycache__ │ │ ├── urls.cpython-310.pyc │ │ ├── wsgi.cpython-310.pyc │ │ ├── __init__.cpython-310.pyc │ │ └── settings.cpython-310.pyc │ ├── urls.py │ ├── asgi.py │ └── wsgi.py ├── db.sqlite3 └── manage.py ├── .DS_Store ├── django-channels-push-notification-with-celery-worker ├── core │ ├── notification │ │ ├── __init__.py │ │ ├── migrations │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-310.pyc │ │ │ │ └── 0001_initial.cpython-310.pyc │ │ │ └── 0001_initial.py │ │ ├── tests.py │ │ ├── views.py │ │ ├── apps.py │ │ ├── __pycache__ │ │ │ ├── admin.cpython-310.pyc │ │ │ ├── apps.cpython-310.pyc │ │ │ ├── views.cpython-310.pyc │ │ │ ├── __init__.cpython-310.pyc │ │ │ ├── models.cpython-310.pyc │ │ │ └── consumers.cpython-310.pyc │ │ ├── models.py │ │ ├── tasks.py │ │ └── templates │ │ │ └── admin │ │ │ └── custom_add_form.html │ ├── core │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── asgi.cpython-310.pyc │ │ │ ├── urls.cpython-310.pyc │ │ │ ├── wsgi.cpython-310.pyc │ │ │ ├── __init__.cpython-310.pyc │ │ │ └── settings.cpython-310.pyc │ │ ├── celery.py │ │ ├── wsgi.py │ │ ├── asgi.py │ │ └── urls.py │ ├── db.sqlite3 │ ├── celerybeat-schedule │ ├── staticfiles │ │ └── admin │ │ │ ├── img │ │ │ ├── tooltag-arrowright.svg │ │ │ ├── tooltag-arrowright_6WnNTpY.svg │ │ │ ├── README.txt │ │ │ ├── tooltag-add.svg │ │ │ ├── icon-addlink.svg │ │ │ ├── README_e7jv1lX.txt │ │ │ ├── icon-addlink_C0b3UbN.svg │ │ │ ├── tooltag-add_s5CbvHy.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-changelink_LqaJzxL.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-deletelink_gAFDBcI.svg │ │ │ ├── icon-yes.svg │ │ │ ├── search.svg │ │ │ ├── search_Ajg6gfh.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-alert_gn6m3iQ.svg │ │ │ ├── icon-no.svg │ │ │ ├── icon-no_kGgl3UD.svg │ │ │ ├── inline-delete.svg │ │ │ ├── inline-delete_qfUrVxJ.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-viewlink_6vZ5BKR.svg │ │ │ ├── icon-unknown.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown_BiHGwf8.svg │ │ │ ├── icon-unknown-alt_aK7wo2y.svg │ │ │ ├── icon-clock.svg │ │ │ └── icon-clock_sSyxo08.svg │ │ │ ├── js │ │ │ ├── jquery.init.js │ │ │ ├── jquery.init_uc0yoTu.js │ │ │ ├── popup_response.js │ │ │ ├── popup_response_RuwSX5r.js │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ └── i18n │ │ │ │ │ ├── zh-TW.js │ │ │ │ │ ├── zh-TW_jB6pd0C.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ ├── zh-CN_zcES8wW.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── ja_RFdJMXJ.js │ │ │ │ │ ├── az_j2uTfBT.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ko_pSPv0lm.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── vi_zVlgTxO.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tk_9Cm0Bxp.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── tr_fgMYMNr.js │ │ │ │ │ ├── id_8ZshzCF.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── th_ojF55BP.js │ │ │ │ │ ├── ar_9gD9nvJ.js │ │ │ │ │ ├── nb_jc50mNv.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── km_DVlswg1.js │ │ │ │ │ ├── sv_DLyAKog.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── is_hGNRFi0.js │ │ │ │ │ ├── et_94j9dHq.js │ │ │ │ │ ├── fi_hf559QZ.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── ms_2ptnyO5.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── hu_eigz2G3.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── ka_3kqWkNt.js │ │ │ │ │ ├── bg_mns9OEP.js │ │ │ │ │ ├── da_1U0yaFj.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── hy_qEoijIl.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── fa_4n3esu8.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── en_KmbZtlI.js │ │ │ │ │ ├── hi_pvO5IR2.js │ │ │ │ │ ├── he_YFiS3wT.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── af.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── af_uRMSHjN.js │ │ │ │ │ ├── de_GPEfEyd.js │ │ │ │ │ ├── eu_fwrwg5c.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── pt-BR_fY0MxLz.js │ │ │ │ │ ├── pt_XNheTk8.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk_MQrAEc5.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── bn_hDnEegp.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── lv_oPQgfwC.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── sq_7BIT3X0.js │ │ │ │ │ ├── ca_OjhJ8XO.js │ │ │ │ │ ├── it_Pwzz2Ru.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── ps_srQHFi4.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl_ysTA1Ow.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── fr_WVJ2yRp.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── sl_slTumGE.js │ │ │ │ │ └── es_6eMRPOF.js │ │ │ ├── prepopulate_init.js │ │ │ ├── prepopulate_init_BWrhOFS.js │ │ │ ├── change_form.js │ │ │ └── change_form_w5mSjbu.js │ │ │ └── css │ │ │ ├── dashboard.css │ │ │ └── dashboard_A3ENWM7.css │ ├── entrypoint.sh │ ├── Dockerfile │ ├── requirements.txt │ └── manage.py ├── env_vars_django.txt ├── notes.md └── .DS_Store └── .gitattributes /django-managing-images/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-managing-images/store/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-managing-images/store/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/.DS_Store -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django-managing-images/store/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /django-managing-images/store/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | 3 | # Create your views here. 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/notes.md: -------------------------------------------------------------------------------- 1 | uvicorn core.asgi:application --port 8000 --workers 4 --log-level debug --reload -------------------------------------------------------------------------------- /django-managing-images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/.DS_Store -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /django-managing-images/db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/db.sqlite3 -------------------------------------------------------------------------------- /django-managing-images/start_code.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/start_code.zip -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/__init__.py: -------------------------------------------------------------------------------- 1 | from .celery import app as celery_app 2 | 3 | __all__ = ['celery_app'] -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/.DS_Store -------------------------------------------------------------------------------- /django-managing-images/store/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | from .models import Product 4 | 5 | admin.site.register(Product) 6 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/db.sqlite3 -------------------------------------------------------------------------------- /django-managing-images/media/Custom_copy_111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/media/Custom_copy_111.png -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-adminsite-multi-language-selection/db.sqlite3 -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/env_vars_django.txt: -------------------------------------------------------------------------------- 1 | DEBUG=True 2 | SECRET_KEY=0930jd30j9jd09j09j109fj01j9f 3 | ALLOWED_HOSTS=localhost,127.0.0.1 -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/notes.md: -------------------------------------------------------------------------------- 1 | uvicorn core.asgi:application --port 8000 --workers 4 --log-level debug --reload 2 | 3 | docker-compose up -d --build -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/.DS_Store -------------------------------------------------------------------------------- /django-managing-images/core/__pycache__/urls.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/core/__pycache__/urls.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/core/__pycache__/wsgi.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/core/__pycache__/wsgi.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/store/__pycache__/admin.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/store/__pycache__/admin.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/store/__pycache__/apps.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/store/__pycache__/apps.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/core/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/core/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/core/__pycache__/settings.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/core/__pycache__/settings.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/store/__pycache__/models.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/store/__pycache__/models.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/store/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/store/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/db.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/db.sqlite3 -------------------------------------------------------------------------------- /django-managing-images/store/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class StoreConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'store' 7 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/celerybeat-schedule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/celerybeat-schedule -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/__pycache__/asgi.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/core/__pycache__/asgi.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/__pycache__/urls.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/core/__pycache__/urls.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/__pycache__/wsgi.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/core/__pycache__/wsgi.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/store/migrations/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/store/migrations/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/__pycache__/urls.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-adminsite-multi-language-selection/example/__pycache__/urls.cpython-310.pyc -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/__pycache__/wsgi.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-adminsite-multi-language-selection/example/__pycache__/wsgi.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/core/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/__pycache__/settings.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/core/__pycache__/settings.cpython-310.pyc -------------------------------------------------------------------------------- /django-managing-images/store/migrations/__pycache__/0001_initial.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-managing-images/store/migrations/__pycache__/0001_initial.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__pycache__/apps.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/__pycache__/apps.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | 3 | # Create your views here. 4 | 5 | def notification_page_view(request): 6 | return render(request, "notification_page.html") -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-adminsite-multi-language-selection/example/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/__pycache__/settings.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-adminsite-multi-language-selection/example/__pycache__/settings.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__pycache__/admin.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/__pycache__/admin.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__pycache__/models.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/__pycache__/models.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__pycache__/views.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/__pycache__/views.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/__pycache__/consumers.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/__pycache__/consumers.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class NotificationConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'notification' 7 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | 3 | # Create your views here. 4 | 5 | def notification_page_view(request): 6 | return render(request, "notification_page.html") -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/__pycache__/asgi.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/core/__pycache__/asgi.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/__pycache__/urls.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/core/__pycache__/urls.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/__pycache__/wsgi.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/core/__pycache__/wsgi.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class NotificationConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'notification' 7 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/core/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/__pycache__/settings.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/core/__pycache__/settings.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/migrations/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/migrations/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__pycache__/admin.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/__pycache__/admin.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__pycache__/apps.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/__pycache__/apps.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__pycache__/views.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/__pycache__/views.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/migrations/__pycache__/0001_initial.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification/core/notification/migrations/__pycache__/0001_initial.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__pycache__/models.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/__pycache__/models.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/__pycache__/consumers.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/__pycache__/consumers.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/migrations/__pycache__/__init__.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/migrations/__pycache__/__init__.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/migrations/__pycache__/0001_initial.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/veryacademy/Django-Tutorials/HEAD/django-channels-push-notification-with-celery-worker/core/notification/migrations/__pycache__/0001_initial.cpython-310.pyc -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | class Notification(models.Model): 4 | message = models.TextField() 5 | created_at = models.DateTimeField(auto_now_add=True) 6 | 7 | def __str__(self): 8 | return self.message 9 | 10 | -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/urls.py: -------------------------------------------------------------------------------- 1 | 2 | from django.contrib import admin 3 | from django.urls import path 4 | from django.views.i18n import set_language 5 | 6 | urlpatterns = [ 7 | path('admin/', admin.site.urls), 8 | path('i18n/', set_language, name='set_language'), 9 | ] 10 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | class Notification(models.Model): 4 | message = models.TextField() 5 | created_at = models.DateTimeField(auto_now_add=True) 6 | 7 | def __str__(self): 8 | return self.message 9 | 10 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/celery.py: -------------------------------------------------------------------------------- 1 | from celery import Celery 2 | import os 3 | 4 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 5 | 6 | app = Celery('core') 7 | 8 | app.config_from_object('django.conf:settings', namespace='CELERY') 9 | 10 | app.autodiscover_tasks() 11 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/tooltag-arrowright.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-managing-images/core/urls.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from django.urls import path 3 | from django.conf.urls.static import static 4 | from django.conf import settings 5 | 6 | urlpatterns = [ 7 | path('admin/', admin.site.urls), 8 | ] 9 | 10 | if settings.DEBUG: 11 | urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/tooltag-arrowright.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/tooltag-arrowright_6WnNTpY.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | 3 | # Collect static files 4 | echo "Collect static files" 5 | python manage.py collectstatic --noinput 6 | 7 | # Apply database migrations 8 | echo "Apply database migrations" 9 | python manage.py makemigrations 10 | python manage.py migrate 11 | 12 | # Execute the provided command or entrypoint 13 | exec "$@" -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/README.txt: -------------------------------------------------------------------------------- 1 | All icons are taken from Font Awesome (http://fontawesome.io/) project. 2 | The Font Awesome font is licensed under the SIL OFL 1.1: 3 | - https://scripts.sil.org/OFL 4 | 5 | SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG 6 | Font-Awesome-SVG-PNG is licensed under the MIT license (see file license 7 | in current folder). 8 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-addlink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/tooltag-add.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/requirements.txt: -------------------------------------------------------------------------------- 1 | anyio==3.7.1 2 | asgiref==3.7.2 3 | channels==4.0.0 4 | click==8.1.6 5 | Django==4.2.3 6 | exceptiongroup==1.1.2 7 | h11==0.14.0 8 | httptools==0.6.0 9 | idna==3.4 10 | python-dotenv==1.0.0 11 | PyYAML==6.0.1 12 | sniffio==1.3.0 13 | sqlparse==0.4.4 14 | typing_extensions==4.7.1 15 | uvicorn==0.23.1 16 | uvloop==0.17.0 17 | watchfiles==0.19.0 18 | websockets==11.0.3 19 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/README.txt: -------------------------------------------------------------------------------- 1 | All icons are taken from Font Awesome (http://fontawesome.io/) project. 2 | The Font Awesome font is licensed under the SIL OFL 1.1: 3 | - https://scripts.sil.org/OFL 4 | 5 | SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG 6 | Font-Awesome-SVG-PNG is licensed under the MIT license (see file license 7 | in current folder). 8 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/tooltag-add.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-addlink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/README_e7jv1lX.txt: -------------------------------------------------------------------------------- 1 | All icons are taken from Font Awesome (http://fontawesome.io/) project. 2 | The Font Awesome font is licensed under the SIL OFL 1.1: 3 | - https://scripts.sil.org/OFL 4 | 5 | SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG 6 | Font-Awesome-SVG-PNG is licensed under the MIT license (see file license 7 | in current folder). 8 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-addlink_C0b3UbN.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/tooltag-add_s5CbvHy.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/jquery.init.js: -------------------------------------------------------------------------------- 1 | /*global jQuery:false*/ 2 | 'use strict'; 3 | /* Puts the included jQuery into our own namespace using noConflict and passing 4 | * it 'true'. This ensures that the included jQuery doesn't pollute the global 5 | * namespace (i.e. this preserves pre-existing values for both window.$ and 6 | * window.jQuery). 7 | */ 8 | window.django = {jQuery: jQuery.noConflict(true)}; 9 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/jquery.init.js: -------------------------------------------------------------------------------- 1 | /*global jQuery:false*/ 2 | 'use strict'; 3 | /* Puts the included jQuery into our own namespace using noConflict and passing 4 | * it 'true'. This ensures that the included jQuery doesn't pollute the global 5 | * namespace (i.e. this preserves pre-existing values for both window.$ and 6 | * window.jQuery). 7 | */ 8 | window.django = {jQuery: jQuery.noConflict(true)}; 9 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-changelink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/jquery.init_uc0yoTu.js: -------------------------------------------------------------------------------- 1 | /*global jQuery:false*/ 2 | 'use strict'; 3 | /* Puts the included jQuery into our own namespace using noConflict and passing 4 | * it 'true'. This ensures that the included jQuery doesn't pollute the global 5 | * namespace (i.e. this preserves pre-existing values for both window.$ and 6 | * window.jQuery). 7 | */ 8 | window.django = {jQuery: jQuery.noConflict(true)}; 9 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/urls.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from django.urls import path 3 | from notification import views 4 | from notification.consumers import NotificationConsumer 5 | 6 | urlpatterns = [ 7 | path('admin/', admin.site.urls), 8 | path("", views.notification_page_view, name="notification_page") 9 | ] 10 | 11 | websocket_urlpatterns = [ 12 | path("ws/notifications/", NotificationConsumer.as_asgi()) 13 | ] 14 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-deletelink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-changelink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-changelink_LqaJzxL.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-deletelink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-managing-images/core/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for core project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /django-managing-images/core/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for core project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-deletelink_gAFDBcI.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for core project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-yes.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/tasks.py: -------------------------------------------------------------------------------- 1 | from celery import shared_task 2 | from channels.layers import get_channel_layer 3 | from asgiref.sync import async_to_sync 4 | 5 | 6 | @shared_task 7 | def send_notification_task(message): 8 | channel_layer = get_channel_layer() 9 | async_to_sync(channel_layer.group_send)( 10 | "notifications", 11 | { 12 | "type": "send_notification", 13 | "message": message 14 | } 15 | ) -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for example project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'example.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/example/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for example project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'example.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for core project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-yes.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/search.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/core/asgi.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from channels.routing import ProtocolTypeRouter, URLRouter 4 | from django.core.asgi import get_asgi_application 5 | 6 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 7 | 8 | django_application = get_asgi_application() 9 | 10 | from . import urls # noqa isort:skip 11 | 12 | application = ProtocolTypeRouter( 13 | { 14 | "http": get_asgi_application(), 15 | "websocket": URLRouter(urls.websocket_urlpatterns) 16 | } 17 | ) 18 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/search.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/search_Ajg6gfh.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/asgi.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from channels.routing import ProtocolTypeRouter, URLRouter 4 | from django.core.asgi import get_asgi_application 5 | 6 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 7 | 8 | django_application = get_asgi_application() 9 | 10 | from . import urls # noqa isort:skip 11 | 12 | application = ProtocolTypeRouter( 13 | { 14 | "http": get_asgi_application(), 15 | "websocket": URLRouter(urls.websocket_urlpatterns) 16 | } 17 | ) 18 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-alert.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.11.4-alpine 2 | 3 | WORKDIR /usr/src/app 4 | 5 | # prevent Python from writing .pyc files 6 | ENV PYTHONDONTWRITEBYTECODE 1 7 | # ensure Python output is sent directly to the terminal without buffering 8 | ENV PYTHONUNBUFFERED 1 9 | 10 | RUN pip install --upgrade pip 11 | COPY ./requirements.txt /usr/src/app/requirements.txt 12 | RUN pip install -r requirements.txt 13 | 14 | COPY ./entrypoint.sh /usr/src/app/entrypoint.sh 15 | 16 | COPY . /usr/src/app/ 17 | 18 | ENTRYPOINT ["/usr/src/app/entrypoint.sh"] -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-alert.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-alert_gn6m3iQ.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-no.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/inline-delete.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-no.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/css/dashboard.css: -------------------------------------------------------------------------------- 1 | /* DASHBOARD */ 2 | .dashboard td, .dashboard th { 3 | word-break: break-word; 4 | } 5 | 6 | .dashboard .module table th { 7 | width: 100%; 8 | } 9 | 10 | .dashboard .module table td { 11 | white-space: nowrap; 12 | } 13 | 14 | .dashboard .module table td a { 15 | display: block; 16 | padding-right: .6em; 17 | } 18 | 19 | /* RECENT ACTIONS MODULE */ 20 | 21 | .module ul.actionlist { 22 | margin-left: 0; 23 | } 24 | 25 | ul.actionlist li { 26 | list-style-type: none; 27 | overflow: hidden; 28 | text-overflow: ellipsis; 29 | } 30 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-no_kGgl3UD.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/inline-delete.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-viewlink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/inline-delete_qfUrVxJ.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/css/dashboard.css: -------------------------------------------------------------------------------- 1 | /* DASHBOARD */ 2 | .dashboard td, .dashboard th { 3 | word-break: break-word; 4 | } 5 | 6 | .dashboard .module table th { 7 | width: 100%; 8 | } 9 | 10 | .dashboard .module table td { 11 | white-space: nowrap; 12 | } 13 | 14 | .dashboard .module table td a { 15 | display: block; 16 | padding-right: .6em; 17 | } 18 | 19 | /* RECENT ACTIONS MODULE */ 20 | 21 | .module ul.actionlist { 22 | margin-left: 0; 23 | } 24 | 25 | ul.actionlist li { 26 | list-style-type: none; 27 | overflow: hidden; 28 | text-overflow: ellipsis; 29 | } 30 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/css/dashboard_A3ENWM7.css: -------------------------------------------------------------------------------- 1 | /* DASHBOARD */ 2 | .dashboard td, .dashboard th { 3 | word-break: break-word; 4 | } 5 | 6 | .dashboard .module table th { 7 | width: 100%; 8 | } 9 | 10 | .dashboard .module table td { 11 | white-space: nowrap; 12 | } 13 | 14 | .dashboard .module table td a { 15 | display: block; 16 | padding-right: .6em; 17 | } 18 | 19 | /* RECENT ACTIONS MODULE */ 20 | 21 | .module ul.actionlist { 22 | margin-left: 0; 23 | } 24 | 25 | ul.actionlist li { 26 | list-style-type: none; 27 | overflow: hidden; 28 | text-overflow: ellipsis; 29 | } 30 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-viewlink.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-viewlink_6vZ5BKR.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/core/urls.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from django.urls import path 3 | from notification import views 4 | from notification.consumers import NotificationConsumer 5 | from django.conf import settings 6 | from django.conf.urls.static import static 7 | 8 | urlpatterns = [ 9 | path('admin/', admin.site.urls), 10 | path("", views.notification_page_view, name="notification_page") 11 | ] 12 | 13 | websocket_urlpatterns = [ 14 | path("ws/notifications/", NotificationConsumer.as_asgi()) 15 | ] 16 | 17 | if settings.DEBUG: 18 | urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 19 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/popup_response.js: -------------------------------------------------------------------------------- 1 | /*global opener */ 2 | 'use strict'; 3 | { 4 | const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); 5 | switch(initData.action) { 6 | case 'change': 7 | opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); 8 | break; 9 | case 'delete': 10 | opener.dismissDeleteRelatedObjectPopup(window, initData.value); 11 | break; 12 | default: 13 | opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); 14 | break; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-managing-images/store/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.2.3 on 2023-07-28 13:31 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | initial = True 9 | 10 | dependencies = [ 11 | ] 12 | 13 | operations = [ 14 | migrations.CreateModel( 15 | name='Product', 16 | fields=[ 17 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 18 | ('name', models.CharField(max_length=100)), 19 | ('icon', models.ImageField(upload_to='')), 20 | ], 21 | ), 22 | ] 23 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/popup_response.js: -------------------------------------------------------------------------------- 1 | /*global opener */ 2 | 'use strict'; 3 | { 4 | const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); 5 | switch(initData.action) { 6 | case 'change': 7 | opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); 8 | break; 9 | case 'delete': 10 | opener.dismissDeleteRelatedObjectPopup(window, initData.value); 11 | break; 12 | default: 13 | opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); 14 | break; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/popup_response_RuwSX5r.js: -------------------------------------------------------------------------------- 1 | /*global opener */ 2 | 'use strict'; 3 | { 4 | const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); 5 | switch(initData.action) { 6 | case 'change': 7 | opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); 8 | break; 9 | case 'delete': 10 | opener.dismissDeleteRelatedObjectPopup(window, initData.value); 11 | break; 12 | default: 13 | opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); 14 | break; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/zh-TW_jB6pd0C.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/prepopulate_init.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | { 3 | const $ = django.jQuery; 4 | const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); 5 | $.each(fields, function(index, field) { 6 | $( 7 | '.empty-form .form-row .field-' + field.name + 8 | ', .empty-form.form-row .field-' + field.name + 9 | ', .empty-form .form-row.field-' + field.name 10 | ).addClass('prepopulated_field'); 11 | $(field.id).data('dependency_list', field.dependency_list).prepopulate( 12 | field.dependency_ids, field.maxLength, field.allowUnicode 13 | ); 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.2.3 on 2023-07-28 10:00 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | initial = True 9 | 10 | dependencies = [ 11 | ] 12 | 13 | operations = [ 14 | migrations.CreateModel( 15 | name='Notification', 16 | fields=[ 17 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 18 | ('message', models.TextField()), 19 | ('created_at', models.DateTimeField(auto_now_add=True)), 20 | ], 21 | ), 22 | ] 23 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-unknown-alt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-unknown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-unknown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/prepopulate_init.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | { 3 | const $ = django.jQuery; 4 | const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); 5 | $.each(fields, function(index, field) { 6 | $( 7 | '.empty-form .form-row .field-' + field.name + 8 | ', .empty-form.form-row .field-' + field.name + 9 | ', .empty-form .form-row.field-' + field.name 10 | ).addClass('prepopulated_field'); 11 | $(field.id).data('dependency_list', field.dependency_list).prepopulate( 12 | field.dependency_ids, field.maxLength, field.allowUnicode 13 | ); 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/change_form.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | { 3 | const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; 4 | const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; 5 | if (modelName) { 6 | const form = document.getElementById(modelName + '_form'); 7 | for (const element of form.elements) { 8 | // HTMLElement.offsetParent returns null when the element is not 9 | // rendered. 10 | if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { 11 | element.focus(); 12 | break; 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/notification/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.2.3 on 2023-07-28 10:00 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | initial = True 9 | 10 | dependencies = [ 11 | ] 12 | 13 | operations = [ 14 | migrations.CreateModel( 15 | name='Notification', 16 | fields=[ 17 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 18 | ('message', models.TextField()), 19 | ('created_at', models.DateTimeField(auto_now_add=True)), 20 | ], 21 | ), 22 | ] 23 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-unknown-alt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/prepopulate_init_BWrhOFS.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | { 3 | const $ = django.jQuery; 4 | const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); 5 | $.each(fields, function(index, field) { 6 | $( 7 | '.empty-form .form-row .field-' + field.name + 8 | ', .empty-form.form-row .field-' + field.name + 9 | ', .empty-form .form-row.field-' + field.name 10 | ).addClass('prepopulated_field'); 11 | $(field.id).data('dependency_list', field.dependency_list).prepopulate( 12 | field.dependency_ids, field.maxLength, field.allowUnicode 13 | ); 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-unknown_BiHGwf8.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-unknown-alt_aK7wo2y.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/change_form.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | { 3 | const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; 4 | const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; 5 | if (modelName) { 6 | const form = document.getElementById(modelName + '_form'); 7 | for (const element of form.elements) { 8 | // HTMLElement.offsetParent returns null when the element is not 9 | // rendered. 10 | if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { 11 | element.focus(); 12 | break; 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/change_form_w5mSjbu.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | { 3 | const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; 4 | const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; 5 | if (modelName) { 6 | const form = document.getElementById(modelName + '_form'); 7 | for (const element of form.elements) { 8 | // HTMLElement.offsetParent returns null when the element is not 9 | // rendered. 10 | if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { 11 | element.focus(); 12 | break; 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/zh-CN_zcES8wW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/img/icon-clock.svg: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-managing-images/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/ja_RFdJMXJ.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-clock.svg: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/az_j2uTfBT.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /django-adminsite-multi-language-selection/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'example.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/img/icon-clock_sSyxo08.svg: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/ko_pSPv0lm.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/requirements.txt: -------------------------------------------------------------------------------- 1 | amqp==5.1.1 2 | anyio==3.7.1 3 | asgiref==3.7.2 4 | async-timeout==4.0.2 5 | billiard==4.1.0 6 | celery==5.3.1 7 | channels==4.0.0 8 | channels-redis==4.1.0 9 | click==8.1.6 10 | click-didyoumean==0.3.0 11 | click-plugins==1.1.1 12 | click-repl==0.3.0 13 | Django==4.2.3 14 | exceptiongroup==1.1.2 15 | h11==0.14.0 16 | httptools==0.6.0 17 | idna==3.4 18 | kombu==5.3.1 19 | msgpack==1.0.5 20 | prompt-toolkit==3.0.39 21 | python-dateutil==2.8.2 22 | python-dotenv==1.0.0 23 | PyYAML==6.0.1 24 | redis==4.6.0 25 | six==1.16.0 26 | sniffio==1.3.0 27 | sqlparse==0.4.4 28 | typing_extensions==4.7.1 29 | tzdata==2023.3 30 | uvicorn==0.23.2 31 | uvloop==0.17.0 32 | vine==5.0.0 33 | watchfiles==0.19.0 34 | wcwidth==0.2.6 35 | websockets==11.0.3 36 | -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/tk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/vi_zVlgTxO.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/tk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/tk_9Cm0Bxp.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/tr_fgMYMNr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/id_8ZshzCF.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/th_ojF55BP.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/staticfiles/admin/js/vendor/select2/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/ar_9gD9nvJ.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/nb_jc50mNv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/km_DVlswg1.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification-with-celery-worker/core/staticfiles/admin/js/vendor/select2/i18n/sv_DLyAKog.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); -------------------------------------------------------------------------------- /django-channels-push-notification/core/notification/templates/admin/custom_add_form.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/base_site.html" %} 2 | 3 | {% block content %} 4 |