├── 01_getting_set_up ├── 01_create_project_app │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── manage.py │ └── requirements.txt └── 02_deploy_project │ ├── Procfile │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── manage.py │ └── requirements.txt ├── 02_models_part1 ├── 01_creating_the_database │ ├── Procfile │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt ├── 02_databases_deployments │ ├── Procfile │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt ├── 03_build_post_model │ ├── Procfile │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt └── 04_models_code_breakdown │ ├── Procfile │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt ├── 06_views_part1 └── 02_building_homepage │ └── post_list.html ├── 07_Rich_text_reload ├── 01_admin_panel_powerup │ ├── Procfile │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_post_excerpt.py │ │ │ ├── 0003_comment.py │ │ │ ├── 0004_alter_comment_options_alter_post_options.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt ├── 01_admin_panel_text │ └── example.txt ├── 02_admin_panel_customisation │ ├── Procfile │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_post_excerpt.py │ │ │ ├── 0003_comment.py │ │ │ ├── 0004_alter_comment_options_alter_post_options.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt └── 03_adding_more_posts │ ├── Procfile │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── fixtures │ │ └── posts.json │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_post_excerpt.py │ │ ├── 0003_comment.py │ │ ├── 0004_alter_comment_options_alter_post_options.py │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── env.py │ ├── manage.py │ └── requirements.txt ├── 08_templates └── 01_base_template │ ├── base.html │ ├── index.html │ └── style.css ├── 09_views_part2 └── 01_building_a_blogpost_view │ ├── Procfile │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_post_excerpt.py │ │ ├── 0003_comment.py │ │ ├── 0004_alter_comment_options_alter_post_options.py │ │ ├── 0005_remove_comment_name_comment_author.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── blog │ │ │ ├── index.html │ │ │ └── post_detail.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ ├── css │ │ └── style.css │ ├── images │ │ └── default.jpg │ └── js │ │ └── script.js │ └── templates │ └── base.html ├── 10_create_about_app ├── Procfile ├── about │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ ├── 0001_initial.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── about │ │ │ ├── about.html │ │ │ └── about_starter.html │ ├── tests.py │ ├── urls.py │ └── views.py ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ ├── 0003_alter_post_options_delete_comment.py │ │ ├── 0004_alter_post_options_comment.py │ │ ├── 0005_remove_comment_name_comment_author.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── blog │ │ │ ├── index.html │ │ │ └── post_detail.html │ ├── tests.py │ ├── urls.py │ └── views.py ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── env.py ├── manage.py ├── requirements.txt ├── runtime.txt ├── static │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ └── js │ │ └── script.js ├── staticfiles │ ├── admin │ │ ├── css │ │ │ ├── autocomplete.css │ │ │ ├── base.css │ │ │ ├── changelists.css │ │ │ ├── dark_mode.css │ │ │ ├── dashboard.css │ │ │ ├── forms.css │ │ │ ├── login.css │ │ │ ├── nav_sidebar.css │ │ │ ├── responsive.css │ │ │ ├── responsive_rtl.css │ │ │ ├── rtl.css │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ ├── select2.css │ │ │ │ │ └── select2.min.css │ │ │ └── widgets.css │ │ ├── img │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── calendar-icons.svg │ │ │ ├── gis │ │ │ │ ├── move_vertex_off.svg │ │ │ │ └── move_vertex_on.svg │ │ │ ├── icon-addlink.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-calendar.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-clock.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-no.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-yes.svg │ │ │ ├── inline-delete.svg │ │ │ ├── search.svg │ │ │ ├── selector-icons.svg │ │ │ ├── sorting-icons.svg │ │ │ ├── tooltag-add.svg │ │ │ └── tooltag-arrowright.svg │ │ └── js │ │ │ ├── SelectBox.js │ │ │ ├── SelectFilter2.js │ │ │ ├── actions.js │ │ │ ├── admin │ │ │ ├── DateTimeShortcuts.js │ │ │ └── RelatedObjectLookups.js │ │ │ ├── autocomplete.js │ │ │ ├── calendar.js │ │ │ ├── cancel.js │ │ │ ├── change_form.js │ │ │ ├── collapse.js │ │ │ ├── core.js │ │ │ ├── filters.js │ │ │ ├── inlines.js │ │ │ ├── jquery.init.js │ │ │ ├── nav_sidebar.js │ │ │ ├── popup_response.js │ │ │ ├── prepopulate.js │ │ │ ├── prepopulate_init.js │ │ │ ├── theme.js │ │ │ ├── urlify.js │ │ │ └── vendor │ │ │ ├── jquery │ │ │ ├── LICENSE.txt │ │ │ ├── jquery.js │ │ │ └── jquery.min.js │ │ │ ├── select2 │ │ │ ├── LICENSE.md │ │ │ ├── i18n │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── select2.full.js │ │ │ └── select2.full.min.js │ │ │ └── xregexp │ │ │ ├── LICENSE.txt │ │ │ ├── xregexp.js │ │ │ └── xregexp.min.js │ ├── css │ │ └── style.css │ ├── images │ │ └── default.jpg │ ├── js │ │ └── script.js │ └── summernote │ │ ├── ResizeSensor.js │ │ ├── SOURCE │ │ ├── django_summernote.css │ │ ├── font │ │ ├── summernote.eot │ │ ├── summernote.hash │ │ ├── summernote.ttf │ │ ├── summernote.woff │ │ └── summernote.woff2 │ │ ├── jquery.fileupload.js │ │ ├── jquery.iframe-transport.js │ │ ├── jquery.ui.widget.js │ │ ├── lang │ │ ├── summernote-ar-AR.min.js │ │ ├── summernote-az-AZ.min.js │ │ ├── summernote-bg-BG.min.js │ │ ├── summernote-bn-BD.min.js │ │ ├── summernote-ca-ES.min.js │ │ ├── summernote-cs-CZ.min.js │ │ ├── summernote-da-DK.min.js │ │ ├── summernote-de-CH.min.js │ │ ├── summernote-de-DE.min.js │ │ ├── summernote-el-GR.min.js │ │ ├── summernote-en-US.min.js │ │ ├── summernote-es-ES.min.js │ │ ├── summernote-es-EU.min.js │ │ ├── summernote-fa-IR.min.js │ │ ├── summernote-fi-FI.min.js │ │ ├── summernote-fr-FR.min.js │ │ ├── summernote-gl-ES.min.js │ │ ├── summernote-he-IL.min.js │ │ ├── summernote-hr-HR.min.js │ │ ├── summernote-hu-HU.min.js │ │ ├── summernote-id-ID.min.js │ │ ├── summernote-it-IT.min.js │ │ ├── summernote-ja-JP.min.js │ │ ├── summernote-ko-KR.min.js │ │ ├── summernote-lt-LT.min.js │ │ ├── summernote-lt-LV.min.js │ │ ├── summernote-mn-MN.min.js │ │ ├── summernote-nb-NO.min.js │ │ ├── summernote-nl-NL.min.js │ │ ├── summernote-pl-PL.min.js │ │ ├── summernote-pt-BR.min.js │ │ ├── summernote-pt-PT.min.js │ │ ├── summernote-ro-RO.min.js │ │ ├── summernote-ru-RU.min.js │ │ ├── summernote-sk-SK.min.js │ │ ├── summernote-sl-SI.min.js │ │ ├── summernote-sr-RS-Latin.min.js │ │ ├── summernote-sr-RS.min.js │ │ ├── summernote-sv-SE.min.js │ │ ├── summernote-ta-IN.min.js │ │ ├── summernote-th-TH.min.js │ │ ├── summernote-tr-TR.min.js │ │ ├── summernote-uk-UA.min.js │ │ ├── summernote-uz-UZ.min.js │ │ ├── summernote-vi-VN.min.js │ │ ├── summernote-zh-CN.min.js │ │ └── summernote-zh-TW.min.js │ │ ├── summernote-bs4.min.css │ │ ├── summernote-bs4.min.js │ │ ├── summernote-bs5.min.css │ │ ├── summernote-bs5.min.js │ │ ├── summernote-lite.min.css │ │ ├── summernote-lite.min.js │ │ ├── summernote.min.css │ │ ├── summernote.min.js │ │ └── summernote.png └── templates │ └── base.html ├── 11_authorisation ├── 01_allauth │ ├── Procfile │ ├── about │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── about │ │ │ │ └── about.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ │ ├── 0003_alter_post_options_delete_comment.py │ │ │ ├── 0004_alter_post_options_comment.py │ │ │ ├── 0005_remove_comment_name_comment_author.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── blog │ │ │ │ ├── index.html │ │ │ │ └── post_detail.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ └── default.jpg │ │ └── js │ │ │ └── script.js │ ├── staticfiles │ │ ├── admin │ │ │ ├── css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── base.css │ │ │ │ ├── changelists.css │ │ │ │ ├── dark_mode.css │ │ │ │ ├── dashboard.css │ │ │ │ ├── forms.css │ │ │ │ ├── login.css │ │ │ │ ├── nav_sidebar.css │ │ │ │ ├── responsive.css │ │ │ │ ├── responsive_rtl.css │ │ │ │ ├── rtl.css │ │ │ │ ├── vendor │ │ │ │ │ └── select2 │ │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ │ ├── select2.css │ │ │ │ │ │ └── select2.min.css │ │ │ │ └── widgets.css │ │ │ ├── img │ │ │ │ ├── LICENSE │ │ │ │ ├── README.txt │ │ │ │ ├── calendar-icons.svg │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.svg │ │ │ │ │ └── move_vertex_on.svg │ │ │ │ ├── icon-addlink.svg │ │ │ │ ├── icon-alert.svg │ │ │ │ ├── icon-calendar.svg │ │ │ │ ├── icon-changelink.svg │ │ │ │ ├── icon-clock.svg │ │ │ │ ├── icon-deletelink.svg │ │ │ │ ├── icon-no.svg │ │ │ │ ├── icon-unknown-alt.svg │ │ │ │ ├── icon-unknown.svg │ │ │ │ ├── icon-viewlink.svg │ │ │ │ ├── icon-yes.svg │ │ │ │ ├── inline-delete.svg │ │ │ │ ├── search.svg │ │ │ │ ├── selector-icons.svg │ │ │ │ ├── sorting-icons.svg │ │ │ │ ├── tooltag-add.svg │ │ │ │ └── tooltag-arrowright.svg │ │ │ └── js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── SelectFilter2.js │ │ │ │ ├── actions.js │ │ │ │ ├── admin │ │ │ │ ├── DateTimeShortcuts.js │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── autocomplete.js │ │ │ │ ├── calendar.js │ │ │ │ ├── cancel.js │ │ │ │ ├── change_form.js │ │ │ │ ├── collapse.js │ │ │ │ ├── core.js │ │ │ │ ├── filters.js │ │ │ │ ├── inlines.js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── nav_sidebar.js │ │ │ │ ├── popup_response.js │ │ │ │ ├── prepopulate.js │ │ │ │ ├── prepopulate_init.js │ │ │ │ ├── theme.js │ │ │ │ ├── urlify.js │ │ │ │ └── vendor │ │ │ │ ├── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ │ │ ├── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── i18n │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── bs.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── dsb.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hsb.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.full.min.js │ │ │ │ └── xregexp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── xregexp.js │ │ │ │ └── xregexp.min.js │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ └── default.jpg │ │ ├── js │ │ │ └── script.js │ │ └── summernote │ │ │ ├── ResizeSensor.js │ │ │ ├── SOURCE │ │ │ ├── django_summernote.css │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.hash │ │ │ ├── summernote.ttf │ │ │ ├── summernote.woff │ │ │ └── summernote.woff2 │ │ │ ├── jquery.fileupload.js │ │ │ ├── jquery.iframe-transport.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── lang │ │ │ ├── summernote-ar-AR.min.js │ │ │ ├── summernote-az-AZ.min.js │ │ │ ├── summernote-bg-BG.min.js │ │ │ ├── summernote-bn-BD.min.js │ │ │ ├── summernote-ca-ES.min.js │ │ │ ├── summernote-cs-CZ.min.js │ │ │ ├── summernote-da-DK.min.js │ │ │ ├── summernote-de-CH.min.js │ │ │ ├── summernote-de-DE.min.js │ │ │ ├── summernote-el-GR.min.js │ │ │ ├── summernote-en-US.min.js │ │ │ ├── summernote-es-ES.min.js │ │ │ ├── summernote-es-EU.min.js │ │ │ ├── summernote-fa-IR.min.js │ │ │ ├── summernote-fi-FI.min.js │ │ │ ├── summernote-fr-FR.min.js │ │ │ ├── summernote-gl-ES.min.js │ │ │ ├── summernote-he-IL.min.js │ │ │ ├── summernote-hr-HR.min.js │ │ │ ├── summernote-hu-HU.min.js │ │ │ ├── summernote-id-ID.min.js │ │ │ ├── summernote-it-IT.min.js │ │ │ ├── summernote-ja-JP.min.js │ │ │ ├── summernote-ko-KR.min.js │ │ │ ├── summernote-lt-LT.min.js │ │ │ ├── summernote-lt-LV.min.js │ │ │ ├── summernote-mn-MN.min.js │ │ │ ├── summernote-nb-NO.min.js │ │ │ ├── summernote-nl-NL.min.js │ │ │ ├── summernote-pl-PL.min.js │ │ │ ├── summernote-pt-BR.min.js │ │ │ ├── summernote-pt-PT.min.js │ │ │ ├── summernote-ro-RO.min.js │ │ │ ├── summernote-ru-RU.min.js │ │ │ ├── summernote-sk-SK.min.js │ │ │ ├── summernote-sl-SI.min.js │ │ │ ├── summernote-sr-RS-Latin.min.js │ │ │ ├── summernote-sr-RS.min.js │ │ │ ├── summernote-sv-SE.min.js │ │ │ ├── summernote-ta-IN.min.js │ │ │ ├── summernote-th-TH.min.js │ │ │ ├── summernote-tr-TR.min.js │ │ │ ├── summernote-uk-UA.min.js │ │ │ ├── summernote-uz-UZ.min.js │ │ │ ├── summernote-vi-VN.min.js │ │ │ ├── summernote-zh-CN.min.js │ │ │ └── summernote-zh-TW.min.js │ │ │ ├── summernote-bs4.min.css │ │ │ ├── summernote-bs4.min.js │ │ │ ├── summernote-bs5.min.css │ │ │ ├── summernote-bs5.min.js │ │ │ ├── summernote-lite.min.css │ │ │ ├── summernote-lite.min.js │ │ │ ├── summernote.min.css │ │ │ ├── summernote.min.js │ │ │ └── summernote.png │ └── templates │ │ ├── account │ │ ├── account_inactive.html │ │ ├── base.html │ │ ├── email.html │ │ ├── email │ │ │ ├── account_already_exists_message.txt │ │ │ ├── account_already_exists_subject.txt │ │ │ ├── base_message.txt │ │ │ ├── email_confirmation_message.txt │ │ │ ├── email_confirmation_signup_message.txt │ │ │ ├── email_confirmation_signup_subject.txt │ │ │ ├── email_confirmation_subject.txt │ │ │ ├── password_reset_key_message.txt │ │ │ ├── password_reset_key_subject.txt │ │ │ ├── unknown_account_message.txt │ │ │ └── unknown_account_subject.txt │ │ ├── email_change.html │ │ ├── email_confirm.html │ │ ├── login.html │ │ ├── logout.html │ │ ├── messages │ │ │ ├── cannot_delete_primary_email.txt │ │ │ ├── email_confirmation_failed.txt │ │ │ ├── email_confirmation_sent.txt │ │ │ ├── email_confirmed.txt │ │ │ ├── email_deleted.txt │ │ │ ├── logged_in.txt │ │ │ ├── logged_out.txt │ │ │ ├── password_changed.txt │ │ │ ├── password_set.txt │ │ │ ├── primary_email_set.txt │ │ │ └── unverified_primary_email.txt │ │ ├── password_change.html │ │ ├── password_reset.html │ │ ├── password_reset_done.html │ │ ├── password_reset_from_key.html │ │ ├── password_reset_from_key_done.html │ │ ├── password_set.html │ │ ├── reauthenticate.html │ │ ├── signup.html │ │ ├── signup_closed.html │ │ ├── snippets │ │ │ ├── already_logged_in.html │ │ │ └── warn_no_email.html │ │ ├── verification_sent.html │ │ └── verified_email_required.html │ │ ├── base.html │ │ ├── mfa │ │ ├── authenticate.html │ │ ├── index.html │ │ ├── messages │ │ │ ├── recovery_codes_generated.txt │ │ │ ├── totp_activated.txt │ │ │ └── totp_deactivated.txt │ │ ├── recovery_codes │ │ │ ├── base.html │ │ │ ├── download.txt │ │ │ ├── generate.html │ │ │ └── index.html │ │ └── totp │ │ │ ├── activate_form.html │ │ │ ├── base.html │ │ │ └── deactivate_form.html │ │ ├── openid │ │ ├── base.html │ │ └── login.html │ │ ├── socialaccount │ │ ├── authentication_error.html │ │ ├── base.html │ │ ├── connections.html │ │ ├── login.html │ │ ├── login_cancelled.html │ │ ├── messages │ │ │ ├── account_connected.txt │ │ │ ├── account_connected_other.txt │ │ │ ├── account_connected_updated.txt │ │ │ └── account_disconnected.txt │ │ ├── signup.html │ │ └── snippets │ │ │ ├── login_extra.html │ │ │ └── provider_list.html │ │ └── tests │ │ └── test_403_csrf.html ├── 02_restrict_access │ ├── Procfile │ ├── about │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── about │ │ │ │ └── about.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ │ ├── 0003_alter_post_options_delete_comment.py │ │ │ ├── 0004_alter_post_options_comment.py │ │ │ ├── 0005_remove_comment_name_comment_author.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── blog │ │ │ │ ├── index.html │ │ │ │ └── post_detail.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ └── default.jpg │ │ └── js │ │ │ └── script.js │ ├── staticfiles │ │ ├── admin │ │ │ ├── css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── base.css │ │ │ │ ├── changelists.css │ │ │ │ ├── dark_mode.css │ │ │ │ ├── dashboard.css │ │ │ │ ├── forms.css │ │ │ │ ├── login.css │ │ │ │ ├── nav_sidebar.css │ │ │ │ ├── responsive.css │ │ │ │ ├── responsive_rtl.css │ │ │ │ ├── rtl.css │ │ │ │ ├── vendor │ │ │ │ │ └── select2 │ │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ │ ├── select2.css │ │ │ │ │ │ └── select2.min.css │ │ │ │ └── widgets.css │ │ │ ├── img │ │ │ │ ├── LICENSE │ │ │ │ ├── README.txt │ │ │ │ ├── calendar-icons.svg │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.svg │ │ │ │ │ └── move_vertex_on.svg │ │ │ │ ├── icon-addlink.svg │ │ │ │ ├── icon-alert.svg │ │ │ │ ├── icon-calendar.svg │ │ │ │ ├── icon-changelink.svg │ │ │ │ ├── icon-clock.svg │ │ │ │ ├── icon-deletelink.svg │ │ │ │ ├── icon-no.svg │ │ │ │ ├── icon-unknown-alt.svg │ │ │ │ ├── icon-unknown.svg │ │ │ │ ├── icon-viewlink.svg │ │ │ │ ├── icon-yes.svg │ │ │ │ ├── inline-delete.svg │ │ │ │ ├── search.svg │ │ │ │ ├── selector-icons.svg │ │ │ │ ├── sorting-icons.svg │ │ │ │ ├── tooltag-add.svg │ │ │ │ └── tooltag-arrowright.svg │ │ │ └── js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── SelectFilter2.js │ │ │ │ ├── actions.js │ │ │ │ ├── admin │ │ │ │ ├── DateTimeShortcuts.js │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── autocomplete.js │ │ │ │ ├── calendar.js │ │ │ │ ├── cancel.js │ │ │ │ ├── change_form.js │ │ │ │ ├── collapse.js │ │ │ │ ├── core.js │ │ │ │ ├── filters.js │ │ │ │ ├── inlines.js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── nav_sidebar.js │ │ │ │ ├── popup_response.js │ │ │ │ ├── prepopulate.js │ │ │ │ ├── prepopulate_init.js │ │ │ │ ├── theme.js │ │ │ │ ├── urlify.js │ │ │ │ └── vendor │ │ │ │ ├── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ │ │ ├── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── i18n │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── bs.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── dsb.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hsb.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.full.min.js │ │ │ │ └── xregexp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── xregexp.js │ │ │ │ └── xregexp.min.js │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ └── default.jpg │ │ ├── js │ │ │ └── script.js │ │ └── summernote │ │ │ ├── ResizeSensor.js │ │ │ ├── SOURCE │ │ │ ├── django_summernote.css │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.hash │ │ │ ├── summernote.ttf │ │ │ ├── summernote.woff │ │ │ └── summernote.woff2 │ │ │ ├── jquery.fileupload.js │ │ │ ├── jquery.iframe-transport.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── lang │ │ │ ├── summernote-ar-AR.min.js │ │ │ ├── summernote-az-AZ.min.js │ │ │ ├── summernote-bg-BG.min.js │ │ │ ├── summernote-bn-BD.min.js │ │ │ ├── summernote-ca-ES.min.js │ │ │ ├── summernote-cs-CZ.min.js │ │ │ ├── summernote-da-DK.min.js │ │ │ ├── summernote-de-CH.min.js │ │ │ ├── summernote-de-DE.min.js │ │ │ ├── summernote-el-GR.min.js │ │ │ ├── summernote-en-US.min.js │ │ │ ├── summernote-es-ES.min.js │ │ │ ├── summernote-es-EU.min.js │ │ │ ├── summernote-fa-IR.min.js │ │ │ ├── summernote-fi-FI.min.js │ │ │ ├── summernote-fr-FR.min.js │ │ │ ├── summernote-gl-ES.min.js │ │ │ ├── summernote-he-IL.min.js │ │ │ ├── summernote-hr-HR.min.js │ │ │ ├── summernote-hu-HU.min.js │ │ │ ├── summernote-id-ID.min.js │ │ │ ├── summernote-it-IT.min.js │ │ │ ├── summernote-ja-JP.min.js │ │ │ ├── summernote-ko-KR.min.js │ │ │ ├── summernote-lt-LT.min.js │ │ │ ├── summernote-lt-LV.min.js │ │ │ ├── summernote-mn-MN.min.js │ │ │ ├── summernote-nb-NO.min.js │ │ │ ├── summernote-nl-NL.min.js │ │ │ ├── summernote-pl-PL.min.js │ │ │ ├── summernote-pt-BR.min.js │ │ │ ├── summernote-pt-PT.min.js │ │ │ ├── summernote-ro-RO.min.js │ │ │ ├── summernote-ru-RU.min.js │ │ │ ├── summernote-sk-SK.min.js │ │ │ ├── summernote-sl-SI.min.js │ │ │ ├── summernote-sr-RS-Latin.min.js │ │ │ ├── summernote-sr-RS.min.js │ │ │ ├── summernote-sv-SE.min.js │ │ │ ├── summernote-ta-IN.min.js │ │ │ ├── summernote-th-TH.min.js │ │ │ ├── summernote-tr-TR.min.js │ │ │ ├── summernote-uk-UA.min.js │ │ │ ├── summernote-uz-UZ.min.js │ │ │ ├── summernote-vi-VN.min.js │ │ │ ├── summernote-zh-CN.min.js │ │ │ └── summernote-zh-TW.min.js │ │ │ ├── summernote-bs4.min.css │ │ │ ├── summernote-bs4.min.js │ │ │ ├── summernote-bs5.min.css │ │ │ ├── summernote-bs5.min.js │ │ │ ├── summernote-lite.min.css │ │ │ ├── summernote-lite.min.js │ │ │ ├── summernote.min.css │ │ │ ├── summernote.min.js │ │ │ └── summernote.png │ └── templates │ │ ├── account │ │ ├── account_inactive.html │ │ ├── base.html │ │ ├── email.html │ │ ├── email │ │ │ ├── account_already_exists_message.txt │ │ │ ├── account_already_exists_subject.txt │ │ │ ├── base_message.txt │ │ │ ├── email_confirmation_message.txt │ │ │ ├── email_confirmation_signup_message.txt │ │ │ ├── email_confirmation_signup_subject.txt │ │ │ ├── email_confirmation_subject.txt │ │ │ ├── password_reset_key_message.txt │ │ │ ├── password_reset_key_subject.txt │ │ │ ├── unknown_account_message.txt │ │ │ └── unknown_account_subject.txt │ │ ├── email_change.html │ │ ├── email_confirm.html │ │ ├── login.html │ │ ├── logout.html │ │ ├── messages │ │ │ ├── cannot_delete_primary_email.txt │ │ │ ├── email_confirmation_failed.txt │ │ │ ├── email_confirmation_sent.txt │ │ │ ├── email_confirmed.txt │ │ │ ├── email_deleted.txt │ │ │ ├── logged_in.txt │ │ │ ├── logged_out.txt │ │ │ ├── password_changed.txt │ │ │ ├── password_set.txt │ │ │ ├── primary_email_set.txt │ │ │ └── unverified_primary_email.txt │ │ ├── password_change.html │ │ ├── password_reset.html │ │ ├── password_reset_done.html │ │ ├── password_reset_from_key.html │ │ ├── password_reset_from_key_done.html │ │ ├── password_set.html │ │ ├── reauthenticate.html │ │ ├── signup.html │ │ ├── signup_closed.html │ │ ├── snippets │ │ │ ├── already_logged_in.html │ │ │ └── warn_no_email.html │ │ ├── verification_sent.html │ │ └── verified_email_required.html │ │ ├── base.html │ │ ├── mfa │ │ ├── authenticate.html │ │ ├── index.html │ │ ├── messages │ │ │ ├── recovery_codes_generated.txt │ │ │ ├── totp_activated.txt │ │ │ └── totp_deactivated.txt │ │ ├── recovery_codes │ │ │ ├── base.html │ │ │ ├── download.txt │ │ │ ├── generate.html │ │ │ └── index.html │ │ └── totp │ │ │ ├── activate_form.html │ │ │ ├── base.html │ │ │ └── deactivate_form.html │ │ ├── openid │ │ ├── base.html │ │ └── login.html │ │ ├── socialaccount │ │ ├── authentication_error.html │ │ ├── base.html │ │ ├── connections.html │ │ ├── login.html │ │ ├── login_cancelled.html │ │ ├── messages │ │ │ ├── account_connected.txt │ │ │ ├── account_connected_other.txt │ │ │ ├── account_connected_updated.txt │ │ │ └── account_disconnected.txt │ │ ├── signup.html │ │ └── snippets │ │ │ ├── login_extra.html │ │ │ └── provider_list.html │ │ └── tests │ │ └── test_403_csrf.html ├── 03_custom_template │ ├── Procfile │ ├── about │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── about │ │ │ │ └── about.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ │ ├── 0003_alter_post_options_delete_comment.py │ │ │ ├── 0004_alter_post_options_comment.py │ │ │ ├── 0005_remove_comment_name_comment_author.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── blog │ │ │ │ ├── index.html │ │ │ │ └── post_detail.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ └── default.jpg │ │ └── js │ │ │ └── script.js │ ├── staticfiles │ │ ├── admin │ │ │ ├── css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── base.css │ │ │ │ ├── changelists.css │ │ │ │ ├── dark_mode.css │ │ │ │ ├── dashboard.css │ │ │ │ ├── forms.css │ │ │ │ ├── login.css │ │ │ │ ├── nav_sidebar.css │ │ │ │ ├── responsive.css │ │ │ │ ├── responsive_rtl.css │ │ │ │ ├── rtl.css │ │ │ │ ├── vendor │ │ │ │ │ └── select2 │ │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ │ ├── select2.css │ │ │ │ │ │ └── select2.min.css │ │ │ │ └── widgets.css │ │ │ ├── img │ │ │ │ ├── LICENSE │ │ │ │ ├── README.txt │ │ │ │ ├── calendar-icons.svg │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.svg │ │ │ │ │ └── move_vertex_on.svg │ │ │ │ ├── icon-addlink.svg │ │ │ │ ├── icon-alert.svg │ │ │ │ ├── icon-calendar.svg │ │ │ │ ├── icon-changelink.svg │ │ │ │ ├── icon-clock.svg │ │ │ │ ├── icon-deletelink.svg │ │ │ │ ├── icon-no.svg │ │ │ │ ├── icon-unknown-alt.svg │ │ │ │ ├── icon-unknown.svg │ │ │ │ ├── icon-viewlink.svg │ │ │ │ ├── icon-yes.svg │ │ │ │ ├── inline-delete.svg │ │ │ │ ├── search.svg │ │ │ │ ├── selector-icons.svg │ │ │ │ ├── sorting-icons.svg │ │ │ │ ├── tooltag-add.svg │ │ │ │ └── tooltag-arrowright.svg │ │ │ └── js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── SelectFilter2.js │ │ │ │ ├── actions.js │ │ │ │ ├── admin │ │ │ │ ├── DateTimeShortcuts.js │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── autocomplete.js │ │ │ │ ├── calendar.js │ │ │ │ ├── cancel.js │ │ │ │ ├── change_form.js │ │ │ │ ├── collapse.js │ │ │ │ ├── core.js │ │ │ │ ├── filters.js │ │ │ │ ├── inlines.js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── nav_sidebar.js │ │ │ │ ├── popup_response.js │ │ │ │ ├── prepopulate.js │ │ │ │ ├── prepopulate_init.js │ │ │ │ ├── theme.js │ │ │ │ ├── urlify.js │ │ │ │ └── vendor │ │ │ │ ├── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ │ │ ├── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── i18n │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── bs.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── dsb.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hsb.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.full.min.js │ │ │ │ └── xregexp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── xregexp.js │ │ │ │ └── xregexp.min.js │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ └── default.jpg │ │ ├── js │ │ │ └── script.js │ │ └── summernote │ │ │ ├── ResizeSensor.js │ │ │ ├── SOURCE │ │ │ ├── django_summernote.css │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.hash │ │ │ ├── summernote.ttf │ │ │ ├── summernote.woff │ │ │ └── summernote.woff2 │ │ │ ├── jquery.fileupload.js │ │ │ ├── jquery.iframe-transport.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── lang │ │ │ ├── summernote-ar-AR.min.js │ │ │ ├── summernote-az-AZ.min.js │ │ │ ├── summernote-bg-BG.min.js │ │ │ ├── summernote-bn-BD.min.js │ │ │ ├── summernote-ca-ES.min.js │ │ │ ├── summernote-cs-CZ.min.js │ │ │ ├── summernote-da-DK.min.js │ │ │ ├── summernote-de-CH.min.js │ │ │ ├── summernote-de-DE.min.js │ │ │ ├── summernote-el-GR.min.js │ │ │ ├── summernote-en-US.min.js │ │ │ ├── summernote-es-ES.min.js │ │ │ ├── summernote-es-EU.min.js │ │ │ ├── summernote-fa-IR.min.js │ │ │ ├── summernote-fi-FI.min.js │ │ │ ├── summernote-fr-FR.min.js │ │ │ ├── summernote-gl-ES.min.js │ │ │ ├── summernote-he-IL.min.js │ │ │ ├── summernote-hr-HR.min.js │ │ │ ├── summernote-hu-HU.min.js │ │ │ ├── summernote-id-ID.min.js │ │ │ ├── summernote-it-IT.min.js │ │ │ ├── summernote-ja-JP.min.js │ │ │ ├── summernote-ko-KR.min.js │ │ │ ├── summernote-lt-LT.min.js │ │ │ ├── summernote-lt-LV.min.js │ │ │ ├── summernote-mn-MN.min.js │ │ │ ├── summernote-nb-NO.min.js │ │ │ ├── summernote-nl-NL.min.js │ │ │ ├── summernote-pl-PL.min.js │ │ │ ├── summernote-pt-BR.min.js │ │ │ ├── summernote-pt-PT.min.js │ │ │ ├── summernote-ro-RO.min.js │ │ │ ├── summernote-ru-RU.min.js │ │ │ ├── summernote-sk-SK.min.js │ │ │ ├── summernote-sl-SI.min.js │ │ │ ├── summernote-sr-RS-Latin.min.js │ │ │ ├── summernote-sr-RS.min.js │ │ │ ├── summernote-sv-SE.min.js │ │ │ ├── summernote-ta-IN.min.js │ │ │ ├── summernote-th-TH.min.js │ │ │ ├── summernote-tr-TR.min.js │ │ │ ├── summernote-uk-UA.min.js │ │ │ ├── summernote-uz-UZ.min.js │ │ │ ├── summernote-vi-VN.min.js │ │ │ ├── summernote-zh-CN.min.js │ │ │ └── summernote-zh-TW.min.js │ │ │ ├── summernote-bs4.min.css │ │ │ ├── summernote-bs4.min.js │ │ │ ├── summernote-bs5.min.css │ │ │ ├── summernote-bs5.min.js │ │ │ ├── summernote-lite.min.css │ │ │ ├── summernote-lite.min.js │ │ │ ├── summernote.min.css │ │ │ ├── summernote.min.js │ │ │ └── summernote.png │ └── templates │ │ ├── account │ │ ├── account_inactive.html │ │ ├── base.html │ │ ├── email.html │ │ ├── email │ │ │ ├── account_already_exists_message.txt │ │ │ ├── account_already_exists_subject.txt │ │ │ ├── base_message.txt │ │ │ ├── email_confirmation_message.txt │ │ │ ├── email_confirmation_signup_message.txt │ │ │ ├── email_confirmation_signup_subject.txt │ │ │ ├── email_confirmation_subject.txt │ │ │ ├── password_reset_key_message.txt │ │ │ ├── password_reset_key_subject.txt │ │ │ ├── unknown_account_message.txt │ │ │ └── unknown_account_subject.txt │ │ ├── email_change.html │ │ ├── email_confirm.html │ │ ├── login.html │ │ ├── logout.html │ │ ├── messages │ │ │ ├── cannot_delete_primary_email.txt │ │ │ ├── email_confirmation_failed.txt │ │ │ ├── email_confirmation_sent.txt │ │ │ ├── email_confirmed.txt │ │ │ ├── email_deleted.txt │ │ │ ├── logged_in.txt │ │ │ ├── logged_out.txt │ │ │ ├── password_changed.txt │ │ │ ├── password_set.txt │ │ │ ├── primary_email_set.txt │ │ │ └── unverified_primary_email.txt │ │ ├── password_change.html │ │ ├── password_reset.html │ │ ├── password_reset_done.html │ │ ├── password_reset_from_key.html │ │ ├── password_reset_from_key_done.html │ │ ├── password_set.html │ │ ├── reauthenticate.html │ │ ├── signup.html │ │ ├── signup_closed.html │ │ ├── snippets │ │ │ ├── already_logged_in.html │ │ │ └── warn_no_email.html │ │ ├── verification_sent.html │ │ └── verified_email_required.html │ │ ├── base.html │ │ ├── mfa │ │ ├── authenticate.html │ │ ├── index.html │ │ ├── messages │ │ │ ├── recovery_codes_generated.txt │ │ │ ├── totp_activated.txt │ │ │ └── totp_deactivated.txt │ │ ├── recovery_codes │ │ │ ├── base.html │ │ │ ├── download.txt │ │ │ ├── generate.html │ │ │ └── index.html │ │ └── totp │ │ │ ├── activate_form.html │ │ │ ├── base.html │ │ │ └── deactivate_form.html │ │ ├── openid │ │ ├── base.html │ │ └── login.html │ │ ├── socialaccount │ │ ├── authentication_error.html │ │ ├── base.html │ │ ├── connections.html │ │ ├── login.html │ │ ├── login_cancelled.html │ │ ├── messages │ │ │ ├── account_connected.txt │ │ │ ├── account_connected_other.txt │ │ │ ├── account_connected_updated.txt │ │ │ └── account_disconnected.txt │ │ ├── signup.html │ │ └── snippets │ │ │ ├── login_extra.html │ │ │ └── provider_list.html │ │ └── tests │ │ └── test_403_csrf.html └── login.html ├── 12_views_part_3 ├── 01_posting_to_database │ ├── Procfile │ ├── about │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_about_title.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── about │ │ │ │ └── about.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ │ ├── 0003_alter_post_options_delete_comment.py │ │ │ ├── 0004_alter_post_options_comment.py │ │ │ ├── 0005_remove_comment_name_comment_author.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── blog │ │ │ │ ├── index.html │ │ │ │ └── post_detail.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ ├── default.jpg │ │ │ └── nobody.jpg │ │ └── js │ │ │ └── script.js │ ├── staticfiles │ │ ├── admin │ │ │ ├── css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── base.css │ │ │ │ ├── changelists.css │ │ │ │ ├── dark_mode.css │ │ │ │ ├── dashboard.css │ │ │ │ ├── forms.css │ │ │ │ ├── login.css │ │ │ │ ├── nav_sidebar.css │ │ │ │ ├── responsive.css │ │ │ │ ├── responsive_rtl.css │ │ │ │ ├── rtl.css │ │ │ │ ├── vendor │ │ │ │ │ └── select2 │ │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ │ ├── select2.css │ │ │ │ │ │ └── select2.min.css │ │ │ │ └── widgets.css │ │ │ ├── img │ │ │ │ ├── LICENSE │ │ │ │ ├── README.txt │ │ │ │ ├── calendar-icons.svg │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.svg │ │ │ │ │ └── move_vertex_on.svg │ │ │ │ ├── icon-addlink.svg │ │ │ │ ├── icon-alert.svg │ │ │ │ ├── icon-calendar.svg │ │ │ │ ├── icon-changelink.svg │ │ │ │ ├── icon-clock.svg │ │ │ │ ├── icon-deletelink.svg │ │ │ │ ├── icon-no.svg │ │ │ │ ├── icon-unknown-alt.svg │ │ │ │ ├── icon-unknown.svg │ │ │ │ ├── icon-viewlink.svg │ │ │ │ ├── icon-yes.svg │ │ │ │ ├── inline-delete.svg │ │ │ │ ├── search.svg │ │ │ │ ├── selector-icons.svg │ │ │ │ ├── sorting-icons.svg │ │ │ │ ├── tooltag-add.svg │ │ │ │ └── tooltag-arrowright.svg │ │ │ └── js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── SelectFilter2.js │ │ │ │ ├── actions.js │ │ │ │ ├── admin │ │ │ │ ├── DateTimeShortcuts.js │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── autocomplete.js │ │ │ │ ├── calendar.js │ │ │ │ ├── cancel.js │ │ │ │ ├── change_form.js │ │ │ │ ├── collapse.js │ │ │ │ ├── core.js │ │ │ │ ├── filters.js │ │ │ │ ├── inlines.js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── nav_sidebar.js │ │ │ │ ├── popup_response.js │ │ │ │ ├── prepopulate.js │ │ │ │ ├── prepopulate_init.js │ │ │ │ ├── theme.js │ │ │ │ ├── urlify.js │ │ │ │ └── vendor │ │ │ │ ├── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ │ │ ├── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── i18n │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── bs.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── dsb.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hsb.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.full.min.js │ │ │ │ └── xregexp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── xregexp.js │ │ │ │ └── xregexp.min.js │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ ├── default.jpg │ │ │ └── nobody.jpg │ │ ├── js │ │ │ └── script.js │ │ └── summernote │ │ │ ├── ResizeSensor.js │ │ │ ├── SOURCE │ │ │ ├── django_summernote.css │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.hash │ │ │ ├── summernote.ttf │ │ │ ├── summernote.woff │ │ │ └── summernote.woff2 │ │ │ ├── jquery.fileupload.js │ │ │ ├── jquery.iframe-transport.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── lang │ │ │ ├── summernote-ar-AR.min.js │ │ │ ├── summernote-az-AZ.min.js │ │ │ ├── summernote-bg-BG.min.js │ │ │ ├── summernote-bn-BD.min.js │ │ │ ├── summernote-ca-ES.min.js │ │ │ ├── summernote-cs-CZ.min.js │ │ │ ├── summernote-da-DK.min.js │ │ │ ├── summernote-de-CH.min.js │ │ │ ├── summernote-de-DE.min.js │ │ │ ├── summernote-el-GR.min.js │ │ │ ├── summernote-en-US.min.js │ │ │ ├── summernote-es-ES.min.js │ │ │ ├── summernote-es-EU.min.js │ │ │ ├── summernote-fa-IR.min.js │ │ │ ├── summernote-fi-FI.min.js │ │ │ ├── summernote-fr-FR.min.js │ │ │ ├── summernote-gl-ES.min.js │ │ │ ├── summernote-he-IL.min.js │ │ │ ├── summernote-hr-HR.min.js │ │ │ ├── summernote-hu-HU.min.js │ │ │ ├── summernote-id-ID.min.js │ │ │ ├── summernote-it-IT.min.js │ │ │ ├── summernote-ja-JP.min.js │ │ │ ├── summernote-ko-KR.min.js │ │ │ ├── summernote-lt-LT.min.js │ │ │ ├── summernote-lt-LV.min.js │ │ │ ├── summernote-mn-MN.min.js │ │ │ ├── summernote-nb-NO.min.js │ │ │ ├── summernote-nl-NL.min.js │ │ │ ├── summernote-pl-PL.min.js │ │ │ ├── summernote-pt-BR.min.js │ │ │ ├── summernote-pt-PT.min.js │ │ │ ├── summernote-ro-RO.min.js │ │ │ ├── summernote-ru-RU.min.js │ │ │ ├── summernote-sk-SK.min.js │ │ │ ├── summernote-sl-SI.min.js │ │ │ ├── summernote-sr-RS-Latin.min.js │ │ │ ├── summernote-sr-RS.min.js │ │ │ ├── summernote-sv-SE.min.js │ │ │ ├── summernote-ta-IN.min.js │ │ │ ├── summernote-th-TH.min.js │ │ │ ├── summernote-tr-TR.min.js │ │ │ ├── summernote-uk-UA.min.js │ │ │ ├── summernote-uz-UZ.min.js │ │ │ ├── summernote-vi-VN.min.js │ │ │ ├── summernote-zh-CN.min.js │ │ │ └── summernote-zh-TW.min.js │ │ │ ├── summernote-bs4.min.css │ │ │ ├── summernote-bs4.min.js │ │ │ ├── summernote-bs5.min.css │ │ │ ├── summernote-bs5.min.js │ │ │ ├── summernote-lite.min.css │ │ │ ├── summernote-lite.min.js │ │ │ ├── summernote.min.css │ │ │ ├── summernote.min.js │ │ │ └── summernote.png │ └── templates │ │ ├── account │ │ ├── account_inactive.html │ │ ├── base.html │ │ ├── email.html │ │ ├── email │ │ │ ├── account_already_exists_message.txt │ │ │ ├── account_already_exists_subject.txt │ │ │ ├── base_message.txt │ │ │ ├── email_confirmation_message.txt │ │ │ ├── email_confirmation_signup_message.txt │ │ │ ├── email_confirmation_signup_subject.txt │ │ │ ├── email_confirmation_subject.txt │ │ │ ├── password_reset_key_message.txt │ │ │ ├── password_reset_key_subject.txt │ │ │ ├── unknown_account_message.txt │ │ │ └── unknown_account_subject.txt │ │ ├── email_change.html │ │ ├── email_confirm.html │ │ ├── login.html │ │ ├── logout.html │ │ ├── messages │ │ │ ├── cannot_delete_primary_email.txt │ │ │ ├── email_confirmation_failed.txt │ │ │ ├── email_confirmation_sent.txt │ │ │ ├── email_confirmed.txt │ │ │ ├── email_deleted.txt │ │ │ ├── logged_in.txt │ │ │ ├── logged_out.txt │ │ │ ├── password_changed.txt │ │ │ ├── password_set.txt │ │ │ ├── primary_email_set.txt │ │ │ └── unverified_primary_email.txt │ │ ├── password_change.html │ │ ├── password_reset.html │ │ ├── password_reset_done.html │ │ ├── password_reset_from_key.html │ │ ├── password_reset_from_key_done.html │ │ ├── password_set.html │ │ ├── reauthenticate.html │ │ ├── signup.html │ │ ├── signup_closed.html │ │ ├── snippets │ │ │ ├── already_logged_in.html │ │ │ └── warn_no_email.html │ │ ├── verification_sent.html │ │ └── verified_email_required.html │ │ ├── base.html │ │ ├── mfa │ │ ├── authenticate.html │ │ ├── index.html │ │ ├── messages │ │ │ ├── recovery_codes_generated.txt │ │ │ ├── totp_activated.txt │ │ │ └── totp_deactivated.txt │ │ ├── recovery_codes │ │ │ ├── base.html │ │ │ ├── download.txt │ │ │ ├── generate.html │ │ │ └── index.html │ │ └── totp │ │ │ ├── activate_form.html │ │ │ ├── base.html │ │ │ └── deactivate_form.html │ │ ├── openid │ │ ├── base.html │ │ └── login.html │ │ ├── socialaccount │ │ ├── authentication_error.html │ │ ├── base.html │ │ ├── connections.html │ │ ├── login.html │ │ ├── login_cancelled.html │ │ ├── messages │ │ │ ├── account_connected.txt │ │ │ ├── account_connected_other.txt │ │ │ ├── account_connected_updated.txt │ │ │ └── account_disconnected.txt │ │ ├── signup.html │ │ └── snippets │ │ │ ├── login_extra.html │ │ │ └── provider_list.html │ │ └── tests │ │ └── test_403_csrf.html └── 05_edit_delete │ ├── Procfile │ ├── about │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_about_title.py │ │ ├── 0003_collaboraterequest.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── about │ │ │ └── about.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ ├── 0003_alter_post_options_delete_comment.py │ │ ├── 0004_alter_post_options_comment.py │ │ ├── 0005_remove_comment_name_comment_author.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── blog │ │ │ ├── index.html │ │ │ └── post_detail.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ └── js │ │ └── comments.js │ ├── staticfiles │ ├── admin │ │ ├── css │ │ │ ├── autocomplete.css │ │ │ ├── base.css │ │ │ ├── changelists.css │ │ │ ├── dark_mode.css │ │ │ ├── dashboard.css │ │ │ ├── forms.css │ │ │ ├── login.css │ │ │ ├── nav_sidebar.css │ │ │ ├── responsive.css │ │ │ ├── responsive_rtl.css │ │ │ ├── rtl.css │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ ├── select2.css │ │ │ │ │ └── select2.min.css │ │ │ └── widgets.css │ │ ├── img │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── calendar-icons.svg │ │ │ ├── gis │ │ │ │ ├── move_vertex_off.svg │ │ │ │ └── move_vertex_on.svg │ │ │ ├── icon-addlink.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-calendar.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-clock.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-no.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-yes.svg │ │ │ ├── inline-delete.svg │ │ │ ├── search.svg │ │ │ ├── selector-icons.svg │ │ │ ├── sorting-icons.svg │ │ │ ├── tooltag-add.svg │ │ │ └── tooltag-arrowright.svg │ │ └── js │ │ │ ├── SelectBox.js │ │ │ ├── SelectFilter2.js │ │ │ ├── actions.js │ │ │ ├── admin │ │ │ ├── DateTimeShortcuts.js │ │ │ └── RelatedObjectLookups.js │ │ │ ├── autocomplete.js │ │ │ ├── calendar.js │ │ │ ├── cancel.js │ │ │ ├── change_form.js │ │ │ ├── collapse.js │ │ │ ├── core.js │ │ │ ├── filters.js │ │ │ ├── inlines.js │ │ │ ├── jquery.init.js │ │ │ ├── nav_sidebar.js │ │ │ ├── popup_response.js │ │ │ ├── prepopulate.js │ │ │ ├── prepopulate_init.js │ │ │ ├── theme.js │ │ │ ├── urlify.js │ │ │ └── vendor │ │ │ ├── jquery │ │ │ ├── LICENSE.txt │ │ │ ├── jquery.js │ │ │ └── jquery.min.js │ │ │ ├── select2 │ │ │ ├── LICENSE.md │ │ │ ├── i18n │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── select2.full.js │ │ │ └── select2.full.min.js │ │ │ └── xregexp │ │ │ ├── LICENSE.txt │ │ │ ├── xregexp.js │ │ │ └── xregexp.min.js │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ ├── js │ │ └── script.js │ └── summernote │ │ ├── ResizeSensor.js │ │ ├── SOURCE │ │ ├── django_summernote.css │ │ ├── font │ │ ├── summernote.eot │ │ ├── summernote.hash │ │ ├── summernote.ttf │ │ ├── summernote.woff │ │ └── summernote.woff2 │ │ ├── jquery.fileupload.js │ │ ├── jquery.iframe-transport.js │ │ ├── jquery.ui.widget.js │ │ ├── lang │ │ ├── summernote-ar-AR.min.js │ │ ├── summernote-az-AZ.min.js │ │ ├── summernote-bg-BG.min.js │ │ ├── summernote-bn-BD.min.js │ │ ├── summernote-ca-ES.min.js │ │ ├── summernote-cs-CZ.min.js │ │ ├── summernote-da-DK.min.js │ │ ├── summernote-de-CH.min.js │ │ ├── summernote-de-DE.min.js │ │ ├── summernote-el-GR.min.js │ │ ├── summernote-en-US.min.js │ │ ├── summernote-es-ES.min.js │ │ ├── summernote-es-EU.min.js │ │ ├── summernote-fa-IR.min.js │ │ ├── summernote-fi-FI.min.js │ │ ├── summernote-fr-FR.min.js │ │ ├── summernote-gl-ES.min.js │ │ ├── summernote-he-IL.min.js │ │ ├── summernote-hr-HR.min.js │ │ ├── summernote-hu-HU.min.js │ │ ├── summernote-id-ID.min.js │ │ ├── summernote-it-IT.min.js │ │ ├── summernote-ja-JP.min.js │ │ ├── summernote-ko-KR.min.js │ │ ├── summernote-lt-LT.min.js │ │ ├── summernote-lt-LV.min.js │ │ ├── summernote-mn-MN.min.js │ │ ├── summernote-nb-NO.min.js │ │ ├── summernote-nl-NL.min.js │ │ ├── summernote-pl-PL.min.js │ │ ├── summernote-pt-BR.min.js │ │ ├── summernote-pt-PT.min.js │ │ ├── summernote-ro-RO.min.js │ │ ├── summernote-ru-RU.min.js │ │ ├── summernote-sk-SK.min.js │ │ ├── summernote-sl-SI.min.js │ │ ├── summernote-sr-RS-Latin.min.js │ │ ├── summernote-sr-RS.min.js │ │ ├── summernote-sv-SE.min.js │ │ ├── summernote-ta-IN.min.js │ │ ├── summernote-th-TH.min.js │ │ ├── summernote-tr-TR.min.js │ │ ├── summernote-uk-UA.min.js │ │ ├── summernote-uz-UZ.min.js │ │ ├── summernote-vi-VN.min.js │ │ ├── summernote-zh-CN.min.js │ │ └── summernote-zh-TW.min.js │ │ ├── summernote-bs4.min.css │ │ ├── summernote-bs4.min.js │ │ ├── summernote-bs5.min.css │ │ ├── summernote-bs5.min.js │ │ ├── summernote-lite.min.css │ │ ├── summernote-lite.min.js │ │ ├── summernote.min.css │ │ ├── summernote.min.js │ │ └── summernote.png │ └── templates │ ├── account │ ├── account_inactive.html │ ├── base.html │ ├── email.html │ ├── email │ │ ├── account_already_exists_message.txt │ │ ├── account_already_exists_subject.txt │ │ ├── base_message.txt │ │ ├── email_confirmation_message.txt │ │ ├── email_confirmation_signup_message.txt │ │ ├── email_confirmation_signup_subject.txt │ │ ├── email_confirmation_subject.txt │ │ ├── password_reset_key_message.txt │ │ ├── password_reset_key_subject.txt │ │ ├── unknown_account_message.txt │ │ └── unknown_account_subject.txt │ ├── email_change.html │ ├── email_confirm.html │ ├── login.html │ ├── logout.html │ ├── messages │ │ ├── cannot_delete_primary_email.txt │ │ ├── email_confirmation_failed.txt │ │ ├── email_confirmation_sent.txt │ │ ├── email_confirmed.txt │ │ ├── email_deleted.txt │ │ ├── logged_in.txt │ │ ├── logged_out.txt │ │ ├── password_changed.txt │ │ ├── password_set.txt │ │ ├── primary_email_set.txt │ │ └── unverified_primary_email.txt │ ├── password_change.html │ ├── password_reset.html │ ├── password_reset_done.html │ ├── password_reset_from_key.html │ ├── password_reset_from_key_done.html │ ├── password_set.html │ ├── reauthenticate.html │ ├── signup.html │ ├── signup_closed.html │ ├── snippets │ │ ├── already_logged_in.html │ │ └── warn_no_email.html │ ├── verification_sent.html │ └── verified_email_required.html │ ├── base.html │ ├── mfa │ ├── authenticate.html │ ├── index.html │ ├── messages │ │ ├── recovery_codes_generated.txt │ │ ├── totp_activated.txt │ │ └── totp_deactivated.txt │ ├── recovery_codes │ │ ├── base.html │ │ ├── download.txt │ │ ├── generate.html │ │ └── index.html │ └── totp │ │ ├── activate_form.html │ │ ├── base.html │ │ └── deactivate_form.html │ ├── openid │ ├── base.html │ └── login.html │ ├── socialaccount │ ├── authentication_error.html │ ├── base.html │ ├── connections.html │ ├── login.html │ ├── login_cancelled.html │ ├── messages │ │ ├── account_connected.txt │ │ ├── account_connected_other.txt │ │ ├── account_connected_updated.txt │ │ └── account_disconnected.txt │ ├── signup.html │ └── snippets │ │ ├── login_extra.html │ │ └── provider_list.html │ └── tests │ └── test_403_csrf.html ├── 13_collaboration_form ├── 01_create_the_form │ ├── Procfile │ ├── about │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_about_title.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── about │ │ │ │ ├── about.html │ │ │ │ └── about_starter.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ │ ├── 0003_alter_post_options_delete_comment.py │ │ │ ├── 0004_alter_post_options_comment.py │ │ │ ├── 0005_remove_comment_name_comment_author.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── blog │ │ │ │ ├── index.html │ │ │ │ └── post_detail.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ ├── default.jpg │ │ │ └── nobody.jpg │ │ └── js │ │ │ └── comments.js │ ├── staticfiles │ │ ├── admin │ │ │ ├── css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── base.css │ │ │ │ ├── changelists.css │ │ │ │ ├── dark_mode.css │ │ │ │ ├── dashboard.css │ │ │ │ ├── forms.css │ │ │ │ ├── login.css │ │ │ │ ├── nav_sidebar.css │ │ │ │ ├── responsive.css │ │ │ │ ├── responsive_rtl.css │ │ │ │ ├── rtl.css │ │ │ │ ├── vendor │ │ │ │ │ └── select2 │ │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ │ ├── select2.css │ │ │ │ │ │ └── select2.min.css │ │ │ │ └── widgets.css │ │ │ ├── img │ │ │ │ ├── LICENSE │ │ │ │ ├── README.txt │ │ │ │ ├── calendar-icons.svg │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.svg │ │ │ │ │ └── move_vertex_on.svg │ │ │ │ ├── icon-addlink.svg │ │ │ │ ├── icon-alert.svg │ │ │ │ ├── icon-calendar.svg │ │ │ │ ├── icon-changelink.svg │ │ │ │ ├── icon-clock.svg │ │ │ │ ├── icon-deletelink.svg │ │ │ │ ├── icon-no.svg │ │ │ │ ├── icon-unknown-alt.svg │ │ │ │ ├── icon-unknown.svg │ │ │ │ ├── icon-viewlink.svg │ │ │ │ ├── icon-yes.svg │ │ │ │ ├── inline-delete.svg │ │ │ │ ├── search.svg │ │ │ │ ├── selector-icons.svg │ │ │ │ ├── sorting-icons.svg │ │ │ │ ├── tooltag-add.svg │ │ │ │ └── tooltag-arrowright.svg │ │ │ └── js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── SelectFilter2.js │ │ │ │ ├── actions.js │ │ │ │ ├── admin │ │ │ │ ├── DateTimeShortcuts.js │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── autocomplete.js │ │ │ │ ├── calendar.js │ │ │ │ ├── cancel.js │ │ │ │ ├── change_form.js │ │ │ │ ├── collapse.js │ │ │ │ ├── core.js │ │ │ │ ├── filters.js │ │ │ │ ├── inlines.js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── nav_sidebar.js │ │ │ │ ├── popup_response.js │ │ │ │ ├── prepopulate.js │ │ │ │ ├── prepopulate_init.js │ │ │ │ ├── theme.js │ │ │ │ ├── urlify.js │ │ │ │ └── vendor │ │ │ │ ├── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ │ │ ├── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── i18n │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── bs.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── dsb.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hsb.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.full.min.js │ │ │ │ └── xregexp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── xregexp.js │ │ │ │ └── xregexp.min.js │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ ├── default.jpg │ │ │ └── nobody.jpg │ │ ├── js │ │ │ └── script.js │ │ └── summernote │ │ │ ├── ResizeSensor.js │ │ │ ├── SOURCE │ │ │ ├── django_summernote.css │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.hash │ │ │ ├── summernote.ttf │ │ │ ├── summernote.woff │ │ │ └── summernote.woff2 │ │ │ ├── jquery.fileupload.js │ │ │ ├── jquery.iframe-transport.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── lang │ │ │ ├── summernote-ar-AR.min.js │ │ │ ├── summernote-az-AZ.min.js │ │ │ ├── summernote-bg-BG.min.js │ │ │ ├── summernote-bn-BD.min.js │ │ │ ├── summernote-ca-ES.min.js │ │ │ ├── summernote-cs-CZ.min.js │ │ │ ├── summernote-da-DK.min.js │ │ │ ├── summernote-de-CH.min.js │ │ │ ├── summernote-de-DE.min.js │ │ │ ├── summernote-el-GR.min.js │ │ │ ├── summernote-en-US.min.js │ │ │ ├── summernote-es-ES.min.js │ │ │ ├── summernote-es-EU.min.js │ │ │ ├── summernote-fa-IR.min.js │ │ │ ├── summernote-fi-FI.min.js │ │ │ ├── summernote-fr-FR.min.js │ │ │ ├── summernote-gl-ES.min.js │ │ │ ├── summernote-he-IL.min.js │ │ │ ├── summernote-hr-HR.min.js │ │ │ ├── summernote-hu-HU.min.js │ │ │ ├── summernote-id-ID.min.js │ │ │ ├── summernote-it-IT.min.js │ │ │ ├── summernote-ja-JP.min.js │ │ │ ├── summernote-ko-KR.min.js │ │ │ ├── summernote-lt-LT.min.js │ │ │ ├── summernote-lt-LV.min.js │ │ │ ├── summernote-mn-MN.min.js │ │ │ ├── summernote-nb-NO.min.js │ │ │ ├── summernote-nl-NL.min.js │ │ │ ├── summernote-pl-PL.min.js │ │ │ ├── summernote-pt-BR.min.js │ │ │ ├── summernote-pt-PT.min.js │ │ │ ├── summernote-ro-RO.min.js │ │ │ ├── summernote-ru-RU.min.js │ │ │ ├── summernote-sk-SK.min.js │ │ │ ├── summernote-sl-SI.min.js │ │ │ ├── summernote-sr-RS-Latin.min.js │ │ │ ├── summernote-sr-RS.min.js │ │ │ ├── summernote-sv-SE.min.js │ │ │ ├── summernote-ta-IN.min.js │ │ │ ├── summernote-th-TH.min.js │ │ │ ├── summernote-tr-TR.min.js │ │ │ ├── summernote-uk-UA.min.js │ │ │ ├── summernote-uz-UZ.min.js │ │ │ ├── summernote-vi-VN.min.js │ │ │ ├── summernote-zh-CN.min.js │ │ │ └── summernote-zh-TW.min.js │ │ │ ├── summernote-bs4.min.css │ │ │ ├── summernote-bs4.min.js │ │ │ ├── summernote-bs5.min.css │ │ │ ├── summernote-bs5.min.js │ │ │ ├── summernote-lite.min.css │ │ │ ├── summernote-lite.min.js │ │ │ ├── summernote.min.css │ │ │ ├── summernote.min.js │ │ │ └── summernote.png │ └── templates │ │ ├── account │ │ ├── account_inactive.html │ │ ├── base.html │ │ ├── email.html │ │ ├── email │ │ │ ├── account_already_exists_message.txt │ │ │ ├── account_already_exists_subject.txt │ │ │ ├── base_message.txt │ │ │ ├── email_confirmation_message.txt │ │ │ ├── email_confirmation_signup_message.txt │ │ │ ├── email_confirmation_signup_subject.txt │ │ │ ├── email_confirmation_subject.txt │ │ │ ├── password_reset_key_message.txt │ │ │ ├── password_reset_key_subject.txt │ │ │ ├── unknown_account_message.txt │ │ │ └── unknown_account_subject.txt │ │ ├── email_change.html │ │ ├── email_confirm.html │ │ ├── login.html │ │ ├── logout.html │ │ ├── messages │ │ │ ├── cannot_delete_primary_email.txt │ │ │ ├── email_confirmation_failed.txt │ │ │ ├── email_confirmation_sent.txt │ │ │ ├── email_confirmed.txt │ │ │ ├── email_deleted.txt │ │ │ ├── logged_in.txt │ │ │ ├── logged_out.txt │ │ │ ├── password_changed.txt │ │ │ ├── password_set.txt │ │ │ ├── primary_email_set.txt │ │ │ └── unverified_primary_email.txt │ │ ├── password_change.html │ │ ├── password_reset.html │ │ ├── password_reset_done.html │ │ ├── password_reset_from_key.html │ │ ├── password_reset_from_key_done.html │ │ ├── password_set.html │ │ ├── reauthenticate.html │ │ ├── signup.html │ │ ├── signup_closed.html │ │ ├── snippets │ │ │ ├── already_logged_in.html │ │ │ └── warn_no_email.html │ │ ├── verification_sent.html │ │ └── verified_email_required.html │ │ ├── base.html │ │ ├── mfa │ │ ├── authenticate.html │ │ ├── index.html │ │ ├── messages │ │ │ ├── recovery_codes_generated.txt │ │ │ ├── totp_activated.txt │ │ │ └── totp_deactivated.txt │ │ ├── recovery_codes │ │ │ ├── base.html │ │ │ ├── download.txt │ │ │ ├── generate.html │ │ │ └── index.html │ │ └── totp │ │ │ ├── activate_form.html │ │ │ ├── base.html │ │ │ └── deactivate_form.html │ │ ├── openid │ │ ├── base.html │ │ └── login.html │ │ ├── socialaccount │ │ ├── authentication_error.html │ │ ├── base.html │ │ ├── connections.html │ │ ├── login.html │ │ ├── login_cancelled.html │ │ ├── messages │ │ │ ├── account_connected.txt │ │ │ ├── account_connected_other.txt │ │ │ ├── account_connected_updated.txt │ │ │ └── account_disconnected.txt │ │ ├── signup.html │ │ └── snippets │ │ │ ├── login_extra.html │ │ │ └── provider_list.html │ │ └── tests │ │ └── test_403_csrf.html └── 02_handle_the_POST_request │ ├── Procfile │ ├── about │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_about_title.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── about │ │ │ └── about.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ ├── 0003_alter_post_options_delete_comment.py │ │ ├── 0004_alter_post_options_comment.py │ │ ├── 0005_remove_comment_name_comment_author.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── blog │ │ │ ├── index.html │ │ │ └── post_detail.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ └── js │ │ └── comments.js │ ├── staticfiles │ ├── admin │ │ ├── css │ │ │ ├── autocomplete.css │ │ │ ├── base.css │ │ │ ├── changelists.css │ │ │ ├── dark_mode.css │ │ │ ├── dashboard.css │ │ │ ├── forms.css │ │ │ ├── login.css │ │ │ ├── nav_sidebar.css │ │ │ ├── responsive.css │ │ │ ├── responsive_rtl.css │ │ │ ├── rtl.css │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ ├── select2.css │ │ │ │ │ └── select2.min.css │ │ │ └── widgets.css │ │ ├── img │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── calendar-icons.svg │ │ │ ├── gis │ │ │ │ ├── move_vertex_off.svg │ │ │ │ └── move_vertex_on.svg │ │ │ ├── icon-addlink.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-calendar.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-clock.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-no.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-yes.svg │ │ │ ├── inline-delete.svg │ │ │ ├── search.svg │ │ │ ├── selector-icons.svg │ │ │ ├── sorting-icons.svg │ │ │ ├── tooltag-add.svg │ │ │ └── tooltag-arrowright.svg │ │ └── js │ │ │ ├── SelectBox.js │ │ │ ├── SelectFilter2.js │ │ │ ├── actions.js │ │ │ ├── admin │ │ │ ├── DateTimeShortcuts.js │ │ │ └── RelatedObjectLookups.js │ │ │ ├── autocomplete.js │ │ │ ├── calendar.js │ │ │ ├── cancel.js │ │ │ ├── change_form.js │ │ │ ├── collapse.js │ │ │ ├── core.js │ │ │ ├── filters.js │ │ │ ├── inlines.js │ │ │ ├── jquery.init.js │ │ │ ├── nav_sidebar.js │ │ │ ├── popup_response.js │ │ │ ├── prepopulate.js │ │ │ ├── prepopulate_init.js │ │ │ ├── theme.js │ │ │ ├── urlify.js │ │ │ └── vendor │ │ │ ├── jquery │ │ │ ├── LICENSE.txt │ │ │ ├── jquery.js │ │ │ └── jquery.min.js │ │ │ ├── select2 │ │ │ ├── LICENSE.md │ │ │ ├── i18n │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── select2.full.js │ │ │ └── select2.full.min.js │ │ │ └── xregexp │ │ │ ├── LICENSE.txt │ │ │ ├── xregexp.js │ │ │ └── xregexp.min.js │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ ├── js │ │ └── script.js │ └── summernote │ │ ├── ResizeSensor.js │ │ ├── SOURCE │ │ ├── django_summernote.css │ │ ├── font │ │ ├── summernote.eot │ │ ├── summernote.hash │ │ ├── summernote.ttf │ │ ├── summernote.woff │ │ └── summernote.woff2 │ │ ├── jquery.fileupload.js │ │ ├── jquery.iframe-transport.js │ │ ├── jquery.ui.widget.js │ │ ├── lang │ │ ├── summernote-ar-AR.min.js │ │ ├── summernote-az-AZ.min.js │ │ ├── summernote-bg-BG.min.js │ │ ├── summernote-bn-BD.min.js │ │ ├── summernote-ca-ES.min.js │ │ ├── summernote-cs-CZ.min.js │ │ ├── summernote-da-DK.min.js │ │ ├── summernote-de-CH.min.js │ │ ├── summernote-de-DE.min.js │ │ ├── summernote-el-GR.min.js │ │ ├── summernote-en-US.min.js │ │ ├── summernote-es-ES.min.js │ │ ├── summernote-es-EU.min.js │ │ ├── summernote-fa-IR.min.js │ │ ├── summernote-fi-FI.min.js │ │ ├── summernote-fr-FR.min.js │ │ ├── summernote-gl-ES.min.js │ │ ├── summernote-he-IL.min.js │ │ ├── summernote-hr-HR.min.js │ │ ├── summernote-hu-HU.min.js │ │ ├── summernote-id-ID.min.js │ │ ├── summernote-it-IT.min.js │ │ ├── summernote-ja-JP.min.js │ │ ├── summernote-ko-KR.min.js │ │ ├── summernote-lt-LT.min.js │ │ ├── summernote-lt-LV.min.js │ │ ├── summernote-mn-MN.min.js │ │ ├── summernote-nb-NO.min.js │ │ ├── summernote-nl-NL.min.js │ │ ├── summernote-pl-PL.min.js │ │ ├── summernote-pt-BR.min.js │ │ ├── summernote-pt-PT.min.js │ │ ├── summernote-ro-RO.min.js │ │ ├── summernote-ru-RU.min.js │ │ ├── summernote-sk-SK.min.js │ │ ├── summernote-sl-SI.min.js │ │ ├── summernote-sr-RS-Latin.min.js │ │ ├── summernote-sr-RS.min.js │ │ ├── summernote-sv-SE.min.js │ │ ├── summernote-ta-IN.min.js │ │ ├── summernote-th-TH.min.js │ │ ├── summernote-tr-TR.min.js │ │ ├── summernote-uk-UA.min.js │ │ ├── summernote-uz-UZ.min.js │ │ ├── summernote-vi-VN.min.js │ │ ├── summernote-zh-CN.min.js │ │ └── summernote-zh-TW.min.js │ │ ├── summernote-bs4.min.css │ │ ├── summernote-bs4.min.js │ │ ├── summernote-bs5.min.css │ │ ├── summernote-bs5.min.js │ │ ├── summernote-lite.min.css │ │ ├── summernote-lite.min.js │ │ ├── summernote.min.css │ │ ├── summernote.min.js │ │ └── summernote.png │ └── templates │ ├── account │ ├── account_inactive.html │ ├── base.html │ ├── email.html │ ├── email │ │ ├── account_already_exists_message.txt │ │ ├── account_already_exists_subject.txt │ │ ├── base_message.txt │ │ ├── email_confirmation_message.txt │ │ ├── email_confirmation_signup_message.txt │ │ ├── email_confirmation_signup_subject.txt │ │ ├── email_confirmation_subject.txt │ │ ├── password_reset_key_message.txt │ │ ├── password_reset_key_subject.txt │ │ ├── unknown_account_message.txt │ │ └── unknown_account_subject.txt │ ├── email_change.html │ ├── email_confirm.html │ ├── login.html │ ├── logout.html │ ├── messages │ │ ├── cannot_delete_primary_email.txt │ │ ├── email_confirmation_failed.txt │ │ ├── email_confirmation_sent.txt │ │ ├── email_confirmed.txt │ │ ├── email_deleted.txt │ │ ├── logged_in.txt │ │ ├── logged_out.txt │ │ ├── password_changed.txt │ │ ├── password_set.txt │ │ ├── primary_email_set.txt │ │ └── unverified_primary_email.txt │ ├── password_change.html │ ├── password_reset.html │ ├── password_reset_done.html │ ├── password_reset_from_key.html │ ├── password_reset_from_key_done.html │ ├── password_set.html │ ├── reauthenticate.html │ ├── signup.html │ ├── signup_closed.html │ ├── snippets │ │ ├── already_logged_in.html │ │ └── warn_no_email.html │ ├── verification_sent.html │ └── verified_email_required.html │ ├── base.html │ ├── mfa │ ├── authenticate.html │ ├── index.html │ ├── messages │ │ ├── recovery_codes_generated.txt │ │ ├── totp_activated.txt │ │ └── totp_deactivated.txt │ ├── recovery_codes │ │ ├── base.html │ │ ├── download.txt │ │ ├── generate.html │ │ └── index.html │ └── totp │ │ ├── activate_form.html │ │ ├── base.html │ │ └── deactivate_form.html │ ├── openid │ ├── base.html │ └── login.html │ ├── socialaccount │ ├── authentication_error.html │ ├── base.html │ ├── connections.html │ ├── login.html │ ├── login_cancelled.html │ ├── messages │ │ ├── account_connected.txt │ │ ├── account_connected_other.txt │ │ ├── account_connected_updated.txt │ │ └── account_disconnected.txt │ ├── signup.html │ └── snippets │ │ ├── login_extra.html │ │ └── provider_list.html │ └── tests │ └── test_403_csrf.html ├── 14_where_to_put_things ├── 01_storing_images_in_cloudinary │ ├── Procfile │ ├── about │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_about_title.py │ │ │ ├── 0003_collaboraterequest.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── about │ │ │ │ └── about.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── blog │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ │ ├── 0003_alter_post_options_delete_comment.py │ │ │ ├── 0004_alter_post_options_comment.py │ │ │ ├── 0005_remove_comment_name_comment_author.py │ │ │ ├── 0006_post_featured_image.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates │ │ │ └── blog │ │ │ │ ├── index.html │ │ │ │ └── post_detail.html │ │ ├── tests.py │ │ ├── urls.py │ │ └── views.py │ ├── codestar │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ ├── default.jpg │ │ │ └── nobody.jpg │ │ └── js │ │ │ └── comments.js │ ├── staticfiles │ │ ├── admin │ │ │ ├── css │ │ │ │ ├── autocomplete.css │ │ │ │ ├── base.css │ │ │ │ ├── changelists.css │ │ │ │ ├── dark_mode.css │ │ │ │ ├── dashboard.css │ │ │ │ ├── forms.css │ │ │ │ ├── login.css │ │ │ │ ├── nav_sidebar.css │ │ │ │ ├── responsive.css │ │ │ │ ├── responsive_rtl.css │ │ │ │ ├── rtl.css │ │ │ │ ├── vendor │ │ │ │ │ └── select2 │ │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ │ ├── select2.css │ │ │ │ │ │ └── select2.min.css │ │ │ │ └── widgets.css │ │ │ ├── img │ │ │ │ ├── LICENSE │ │ │ │ ├── README.txt │ │ │ │ ├── calendar-icons.svg │ │ │ │ ├── gis │ │ │ │ │ ├── move_vertex_off.svg │ │ │ │ │ └── move_vertex_on.svg │ │ │ │ ├── icon-addlink.svg │ │ │ │ ├── icon-alert.svg │ │ │ │ ├── icon-calendar.svg │ │ │ │ ├── icon-changelink.svg │ │ │ │ ├── icon-clock.svg │ │ │ │ ├── icon-deletelink.svg │ │ │ │ ├── icon-no.svg │ │ │ │ ├── icon-unknown-alt.svg │ │ │ │ ├── icon-unknown.svg │ │ │ │ ├── icon-viewlink.svg │ │ │ │ ├── icon-yes.svg │ │ │ │ ├── inline-delete.svg │ │ │ │ ├── search.svg │ │ │ │ ├── selector-icons.svg │ │ │ │ ├── sorting-icons.svg │ │ │ │ ├── tooltag-add.svg │ │ │ │ └── tooltag-arrowright.svg │ │ │ └── js │ │ │ │ ├── SelectBox.js │ │ │ │ ├── SelectFilter2.js │ │ │ │ ├── actions.js │ │ │ │ ├── admin │ │ │ │ ├── DateTimeShortcuts.js │ │ │ │ └── RelatedObjectLookups.js │ │ │ │ ├── autocomplete.js │ │ │ │ ├── calendar.js │ │ │ │ ├── cancel.js │ │ │ │ ├── change_form.js │ │ │ │ ├── collapse.js │ │ │ │ ├── core.js │ │ │ │ ├── filters.js │ │ │ │ ├── inlines.js │ │ │ │ ├── jquery.init.js │ │ │ │ ├── nav_sidebar.js │ │ │ │ ├── popup_response.js │ │ │ │ ├── prepopulate.js │ │ │ │ ├── prepopulate_init.js │ │ │ │ ├── theme.js │ │ │ │ ├── urlify.js │ │ │ │ └── vendor │ │ │ │ ├── jquery │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── jquery.js │ │ │ │ └── jquery.min.js │ │ │ │ ├── select2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── i18n │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── bn.js │ │ │ │ │ ├── bs.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── dsb.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hsb.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── hy.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── is.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── ka.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── ms.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── ne.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── ps.js │ │ │ │ │ ├── pt-BR.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-Cyrl.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tk.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-CN.js │ │ │ │ │ └── zh-TW.js │ │ │ │ ├── select2.full.js │ │ │ │ └── select2.full.min.js │ │ │ │ └── xregexp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── xregexp.js │ │ │ │ └── xregexp.min.js │ │ ├── css │ │ │ └── style.css │ │ ├── images │ │ │ ├── default.jpg │ │ │ └── nobody.jpg │ │ ├── js │ │ │ └── script.js │ │ └── summernote │ │ │ ├── ResizeSensor.js │ │ │ ├── SOURCE │ │ │ ├── django_summernote.css │ │ │ ├── font │ │ │ ├── summernote.eot │ │ │ ├── summernote.hash │ │ │ ├── summernote.ttf │ │ │ ├── summernote.woff │ │ │ └── summernote.woff2 │ │ │ ├── jquery.fileupload.js │ │ │ ├── jquery.iframe-transport.js │ │ │ ├── jquery.ui.widget.js │ │ │ ├── lang │ │ │ ├── summernote-ar-AR.min.js │ │ │ ├── summernote-az-AZ.min.js │ │ │ ├── summernote-bg-BG.min.js │ │ │ ├── summernote-bn-BD.min.js │ │ │ ├── summernote-ca-ES.min.js │ │ │ ├── summernote-cs-CZ.min.js │ │ │ ├── summernote-da-DK.min.js │ │ │ ├── summernote-de-CH.min.js │ │ │ ├── summernote-de-DE.min.js │ │ │ ├── summernote-el-GR.min.js │ │ │ ├── summernote-en-US.min.js │ │ │ ├── summernote-es-ES.min.js │ │ │ ├── summernote-es-EU.min.js │ │ │ ├── summernote-fa-IR.min.js │ │ │ ├── summernote-fi-FI.min.js │ │ │ ├── summernote-fr-FR.min.js │ │ │ ├── summernote-gl-ES.min.js │ │ │ ├── summernote-he-IL.min.js │ │ │ ├── summernote-hr-HR.min.js │ │ │ ├── summernote-hu-HU.min.js │ │ │ ├── summernote-id-ID.min.js │ │ │ ├── summernote-it-IT.min.js │ │ │ ├── summernote-ja-JP.min.js │ │ │ ├── summernote-ko-KR.min.js │ │ │ ├── summernote-lt-LT.min.js │ │ │ ├── summernote-lt-LV.min.js │ │ │ ├── summernote-mn-MN.min.js │ │ │ ├── summernote-nb-NO.min.js │ │ │ ├── summernote-nl-NL.min.js │ │ │ ├── summernote-pl-PL.min.js │ │ │ ├── summernote-pt-BR.min.js │ │ │ ├── summernote-pt-PT.min.js │ │ │ ├── summernote-ro-RO.min.js │ │ │ ├── summernote-ru-RU.min.js │ │ │ ├── summernote-sk-SK.min.js │ │ │ ├── summernote-sl-SI.min.js │ │ │ ├── summernote-sr-RS-Latin.min.js │ │ │ ├── summernote-sr-RS.min.js │ │ │ ├── summernote-sv-SE.min.js │ │ │ ├── summernote-ta-IN.min.js │ │ │ ├── summernote-th-TH.min.js │ │ │ ├── summernote-tr-TR.min.js │ │ │ ├── summernote-uk-UA.min.js │ │ │ ├── summernote-uz-UZ.min.js │ │ │ ├── summernote-vi-VN.min.js │ │ │ ├── summernote-zh-CN.min.js │ │ │ └── summernote-zh-TW.min.js │ │ │ ├── summernote-bs4.min.css │ │ │ ├── summernote-bs4.min.js │ │ │ ├── summernote-bs5.min.css │ │ │ ├── summernote-bs5.min.js │ │ │ ├── summernote-lite.min.css │ │ │ ├── summernote-lite.min.js │ │ │ ├── summernote.min.css │ │ │ ├── summernote.min.js │ │ │ └── summernote.png │ └── templates │ │ ├── account │ │ ├── account_inactive.html │ │ ├── base.html │ │ ├── email.html │ │ ├── email │ │ │ ├── account_already_exists_message.txt │ │ │ ├── account_already_exists_subject.txt │ │ │ ├── base_message.txt │ │ │ ├── email_confirmation_message.txt │ │ │ ├── email_confirmation_signup_message.txt │ │ │ ├── email_confirmation_signup_subject.txt │ │ │ ├── email_confirmation_subject.txt │ │ │ ├── password_reset_key_message.txt │ │ │ ├── password_reset_key_subject.txt │ │ │ ├── unknown_account_message.txt │ │ │ └── unknown_account_subject.txt │ │ ├── email_change.html │ │ ├── email_confirm.html │ │ ├── login.html │ │ ├── logout.html │ │ ├── messages │ │ │ ├── cannot_delete_primary_email.txt │ │ │ ├── email_confirmation_failed.txt │ │ │ ├── email_confirmation_sent.txt │ │ │ ├── email_confirmed.txt │ │ │ ├── email_deleted.txt │ │ │ ├── logged_in.txt │ │ │ ├── logged_out.txt │ │ │ ├── password_changed.txt │ │ │ ├── password_set.txt │ │ │ ├── primary_email_set.txt │ │ │ └── unverified_primary_email.txt │ │ ├── password_change.html │ │ ├── password_reset.html │ │ ├── password_reset_done.html │ │ ├── password_reset_from_key.html │ │ ├── password_reset_from_key_done.html │ │ ├── password_set.html │ │ ├── reauthenticate.html │ │ ├── signup.html │ │ ├── signup_closed.html │ │ ├── snippets │ │ │ ├── already_logged_in.html │ │ │ └── warn_no_email.html │ │ ├── verification_sent.html │ │ └── verified_email_required.html │ │ ├── base.html │ │ ├── mfa │ │ ├── authenticate.html │ │ ├── index.html │ │ ├── messages │ │ │ ├── recovery_codes_generated.txt │ │ │ ├── totp_activated.txt │ │ │ └── totp_deactivated.txt │ │ ├── recovery_codes │ │ │ ├── base.html │ │ │ ├── download.txt │ │ │ ├── generate.html │ │ │ └── index.html │ │ └── totp │ │ │ ├── activate_form.html │ │ │ ├── base.html │ │ │ └── deactivate_form.html │ │ ├── openid │ │ ├── base.html │ │ └── login.html │ │ ├── socialaccount │ │ ├── authentication_error.html │ │ ├── base.html │ │ ├── connections.html │ │ ├── login.html │ │ ├── login_cancelled.html │ │ ├── messages │ │ │ ├── account_connected.txt │ │ │ ├── account_connected_other.txt │ │ │ ├── account_connected_updated.txt │ │ │ └── account_disconnected.txt │ │ ├── signup.html │ │ └── snippets │ │ │ ├── login_extra.html │ │ │ └── provider_list.html │ │ └── tests │ │ └── test_403_csrf.html ├── 02_storing_user_generated_images │ └── google.jpg └── 03_tidy_up │ ├── Procfile │ ├── about │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_about_title.py │ │ ├── 0003_collaboraterequest.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── about │ │ │ └── about.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ ├── 0003_alter_post_options_delete_comment.py │ │ ├── 0004_alter_post_options_comment.py │ │ ├── 0005_remove_comment_name_comment_author.py │ │ ├── 0006_post_featured_image.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── blog │ │ │ ├── index.html │ │ │ └── post_detail.html │ ├── tests.py │ ├── urls.py │ └── views.py │ ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py │ ├── env.py │ ├── manage.py │ ├── requirements.txt │ ├── runtime.txt │ ├── static │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ └── js │ │ └── comments.js │ ├── staticfiles │ ├── admin │ │ ├── css │ │ │ ├── autocomplete.css │ │ │ ├── base.css │ │ │ ├── changelists.css │ │ │ ├── dark_mode.css │ │ │ ├── dashboard.css │ │ │ ├── forms.css │ │ │ ├── login.css │ │ │ ├── nav_sidebar.css │ │ │ ├── responsive.css │ │ │ ├── responsive_rtl.css │ │ │ ├── rtl.css │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ ├── select2.css │ │ │ │ │ └── select2.min.css │ │ │ └── widgets.css │ │ ├── img │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── calendar-icons.svg │ │ │ ├── gis │ │ │ │ ├── move_vertex_off.svg │ │ │ │ └── move_vertex_on.svg │ │ │ ├── icon-addlink.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-calendar.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-clock.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-no.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-yes.svg │ │ │ ├── inline-delete.svg │ │ │ ├── search.svg │ │ │ ├── selector-icons.svg │ │ │ ├── sorting-icons.svg │ │ │ ├── tooltag-add.svg │ │ │ └── tooltag-arrowright.svg │ │ └── js │ │ │ ├── SelectBox.js │ │ │ ├── SelectFilter2.js │ │ │ ├── actions.js │ │ │ ├── admin │ │ │ ├── DateTimeShortcuts.js │ │ │ └── RelatedObjectLookups.js │ │ │ ├── autocomplete.js │ │ │ ├── calendar.js │ │ │ ├── cancel.js │ │ │ ├── change_form.js │ │ │ ├── collapse.js │ │ │ ├── core.js │ │ │ ├── filters.js │ │ │ ├── inlines.js │ │ │ ├── jquery.init.js │ │ │ ├── nav_sidebar.js │ │ │ ├── popup_response.js │ │ │ ├── prepopulate.js │ │ │ ├── prepopulate_init.js │ │ │ ├── theme.js │ │ │ ├── urlify.js │ │ │ └── vendor │ │ │ ├── jquery │ │ │ ├── LICENSE.txt │ │ │ ├── jquery.js │ │ │ └── jquery.min.js │ │ │ ├── select2 │ │ │ ├── LICENSE.md │ │ │ ├── i18n │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── select2.full.js │ │ │ └── select2.full.min.js │ │ │ └── xregexp │ │ │ ├── LICENSE.txt │ │ │ ├── xregexp.js │ │ │ └── xregexp.min.js │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ ├── js │ │ └── script.js │ └── summernote │ │ ├── ResizeSensor.js │ │ ├── SOURCE │ │ ├── django_summernote.css │ │ ├── font │ │ ├── summernote.eot │ │ ├── summernote.hash │ │ ├── summernote.ttf │ │ ├── summernote.woff │ │ └── summernote.woff2 │ │ ├── jquery.fileupload.js │ │ ├── jquery.iframe-transport.js │ │ ├── jquery.ui.widget.js │ │ ├── lang │ │ ├── summernote-ar-AR.min.js │ │ ├── summernote-az-AZ.min.js │ │ ├── summernote-bg-BG.min.js │ │ ├── summernote-bn-BD.min.js │ │ ├── summernote-ca-ES.min.js │ │ ├── summernote-cs-CZ.min.js │ │ ├── summernote-da-DK.min.js │ │ ├── summernote-de-CH.min.js │ │ ├── summernote-de-DE.min.js │ │ ├── summernote-el-GR.min.js │ │ ├── summernote-en-US.min.js │ │ ├── summernote-es-ES.min.js │ │ ├── summernote-es-EU.min.js │ │ ├── summernote-fa-IR.min.js │ │ ├── summernote-fi-FI.min.js │ │ ├── summernote-fr-FR.min.js │ │ ├── summernote-gl-ES.min.js │ │ ├── summernote-he-IL.min.js │ │ ├── summernote-hr-HR.min.js │ │ ├── summernote-hu-HU.min.js │ │ ├── summernote-id-ID.min.js │ │ ├── summernote-it-IT.min.js │ │ ├── summernote-ja-JP.min.js │ │ ├── summernote-ko-KR.min.js │ │ ├── summernote-lt-LT.min.js │ │ ├── summernote-lt-LV.min.js │ │ ├── summernote-mn-MN.min.js │ │ ├── summernote-nb-NO.min.js │ │ ├── summernote-nl-NL.min.js │ │ ├── summernote-pl-PL.min.js │ │ ├── summernote-pt-BR.min.js │ │ ├── summernote-pt-PT.min.js │ │ ├── summernote-ro-RO.min.js │ │ ├── summernote-ru-RU.min.js │ │ ├── summernote-sk-SK.min.js │ │ ├── summernote-sl-SI.min.js │ │ ├── summernote-sr-RS-Latin.min.js │ │ ├── summernote-sr-RS.min.js │ │ ├── summernote-sv-SE.min.js │ │ ├── summernote-ta-IN.min.js │ │ ├── summernote-th-TH.min.js │ │ ├── summernote-tr-TR.min.js │ │ ├── summernote-uk-UA.min.js │ │ ├── summernote-uz-UZ.min.js │ │ ├── summernote-vi-VN.min.js │ │ ├── summernote-zh-CN.min.js │ │ └── summernote-zh-TW.min.js │ │ ├── summernote-bs4.min.css │ │ ├── summernote-bs4.min.js │ │ ├── summernote-bs5.min.css │ │ ├── summernote-bs5.min.js │ │ ├── summernote-lite.min.css │ │ ├── summernote-lite.min.js │ │ ├── summernote.min.css │ │ ├── summernote.min.js │ │ └── summernote.png │ └── templates │ ├── account │ ├── account_inactive.html │ ├── base.html │ ├── email.html │ ├── email │ │ ├── account_already_exists_message.txt │ │ ├── account_already_exists_subject.txt │ │ ├── base_message.txt │ │ ├── email_confirmation_message.txt │ │ ├── email_confirmation_signup_message.txt │ │ ├── email_confirmation_signup_subject.txt │ │ ├── email_confirmation_subject.txt │ │ ├── password_reset_key_message.txt │ │ ├── password_reset_key_subject.txt │ │ ├── unknown_account_message.txt │ │ └── unknown_account_subject.txt │ ├── email_change.html │ ├── email_confirm.html │ ├── login.html │ ├── logout.html │ ├── messages │ │ ├── cannot_delete_primary_email.txt │ │ ├── email_confirmation_failed.txt │ │ ├── email_confirmation_sent.txt │ │ ├── email_confirmed.txt │ │ ├── email_deleted.txt │ │ ├── logged_in.txt │ │ ├── logged_out.txt │ │ ├── password_changed.txt │ │ ├── password_set.txt │ │ ├── primary_email_set.txt │ │ └── unverified_primary_email.txt │ ├── password_change.html │ ├── password_reset.html │ ├── password_reset_done.html │ ├── password_reset_from_key.html │ ├── password_reset_from_key_done.html │ ├── password_set.html │ ├── reauthenticate.html │ ├── signup.html │ ├── signup_closed.html │ ├── snippets │ │ ├── already_logged_in.html │ │ └── warn_no_email.html │ ├── verification_sent.html │ └── verified_email_required.html │ ├── base.html │ ├── mfa │ ├── authenticate.html │ ├── index.html │ ├── messages │ │ ├── recovery_codes_generated.txt │ │ ├── totp_activated.txt │ │ └── totp_deactivated.txt │ ├── recovery_codes │ │ ├── base.html │ │ ├── download.txt │ │ ├── generate.html │ │ └── index.html │ └── totp │ │ ├── activate_form.html │ │ ├── base.html │ │ └── deactivate_form.html │ ├── openid │ ├── base.html │ └── login.html │ ├── socialaccount │ ├── authentication_error.html │ ├── base.html │ ├── connections.html │ ├── login.html │ ├── login_cancelled.html │ ├── messages │ │ ├── account_connected.txt │ │ ├── account_connected_other.txt │ │ ├── account_connected_updated.txt │ │ └── account_disconnected.txt │ ├── signup.html │ └── snippets │ │ ├── login_extra.html │ │ └── provider_list.html │ └── tests │ └── test_403_csrf.html ├── 15_testing ├── Procfile ├── about │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_about_title.py │ │ ├── 0003_collaboraterequest.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── about │ │ │ └── about.html │ ├── test_forms.py │ ├── test_views.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_alter_post_options_post_excerpt_post_updated_on_and_more.py │ │ ├── 0003_alter_post_options_delete_comment.py │ │ ├── 0004_alter_post_options_comment.py │ │ ├── 0005_remove_comment_name_comment_author.py │ │ ├── 0006_post_featured_image.py │ │ └── __init__.py │ ├── models.py │ ├── templates │ │ └── blog │ │ │ ├── index.html │ │ │ └── post_detail.html │ ├── test_forms.py │ ├── test_views.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── codestar │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── env.py ├── manage.py ├── requirements.txt ├── runtime.txt ├── static │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ └── js │ │ └── comments.js ├── staticfiles │ ├── admin │ │ ├── css │ │ │ ├── autocomplete.css │ │ │ ├── base.css │ │ │ ├── changelists.css │ │ │ ├── dark_mode.css │ │ │ ├── dashboard.css │ │ │ ├── forms.css │ │ │ ├── login.css │ │ │ ├── nav_sidebar.css │ │ │ ├── responsive.css │ │ │ ├── responsive_rtl.css │ │ │ ├── rtl.css │ │ │ ├── vendor │ │ │ │ └── select2 │ │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ │ ├── select2.css │ │ │ │ │ └── select2.min.css │ │ │ └── widgets.css │ │ ├── img │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── calendar-icons.svg │ │ │ ├── gis │ │ │ │ ├── move_vertex_off.svg │ │ │ │ └── move_vertex_on.svg │ │ │ ├── icon-addlink.svg │ │ │ ├── icon-alert.svg │ │ │ ├── icon-calendar.svg │ │ │ ├── icon-changelink.svg │ │ │ ├── icon-clock.svg │ │ │ ├── icon-deletelink.svg │ │ │ ├── icon-no.svg │ │ │ ├── icon-unknown-alt.svg │ │ │ ├── icon-unknown.svg │ │ │ ├── icon-viewlink.svg │ │ │ ├── icon-yes.svg │ │ │ ├── inline-delete.svg │ │ │ ├── search.svg │ │ │ ├── selector-icons.svg │ │ │ ├── sorting-icons.svg │ │ │ ├── tooltag-add.svg │ │ │ └── tooltag-arrowright.svg │ │ └── js │ │ │ ├── SelectBox.js │ │ │ ├── SelectFilter2.js │ │ │ ├── actions.js │ │ │ ├── admin │ │ │ ├── DateTimeShortcuts.js │ │ │ └── RelatedObjectLookups.js │ │ │ ├── autocomplete.js │ │ │ ├── calendar.js │ │ │ ├── cancel.js │ │ │ ├── change_form.js │ │ │ ├── collapse.js │ │ │ ├── core.js │ │ │ ├── filters.js │ │ │ ├── inlines.js │ │ │ ├── jquery.init.js │ │ │ ├── nav_sidebar.js │ │ │ ├── popup_response.js │ │ │ ├── prepopulate.js │ │ │ ├── prepopulate_init.js │ │ │ ├── theme.js │ │ │ ├── urlify.js │ │ │ └── vendor │ │ │ ├── jquery │ │ │ ├── LICENSE.txt │ │ │ ├── jquery.js │ │ │ └── jquery.min.js │ │ │ ├── select2 │ │ │ ├── LICENSE.md │ │ │ ├── i18n │ │ │ │ ├── af.js │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── bn.js │ │ │ │ ├── bs.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── dsb.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hsb.js │ │ │ │ ├── hu.js │ │ │ │ ├── hy.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── ka.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── ne.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── ps.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sl.js │ │ │ │ ├── sq.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tk.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── select2.full.js │ │ │ └── select2.full.min.js │ │ │ └── xregexp │ │ │ ├── LICENSE.txt │ │ │ ├── xregexp.js │ │ │ └── xregexp.min.js │ ├── css │ │ └── style.css │ ├── images │ │ ├── default.jpg │ │ └── nobody.jpg │ ├── js │ │ └── script.js │ └── summernote │ │ ├── ResizeSensor.js │ │ ├── SOURCE │ │ ├── django_summernote.css │ │ ├── font │ │ ├── summernote.eot │ │ ├── summernote.hash │ │ ├── summernote.ttf │ │ ├── summernote.woff │ │ └── summernote.woff2 │ │ ├── jquery.fileupload.js │ │ ├── jquery.iframe-transport.js │ │ ├── jquery.ui.widget.js │ │ ├── lang │ │ ├── summernote-ar-AR.min.js │ │ ├── summernote-az-AZ.min.js │ │ ├── summernote-bg-BG.min.js │ │ ├── summernote-bn-BD.min.js │ │ ├── summernote-ca-ES.min.js │ │ ├── summernote-cs-CZ.min.js │ │ ├── summernote-da-DK.min.js │ │ ├── summernote-de-CH.min.js │ │ ├── summernote-de-DE.min.js │ │ ├── summernote-el-GR.min.js │ │ ├── summernote-en-US.min.js │ │ ├── summernote-es-ES.min.js │ │ ├── summernote-es-EU.min.js │ │ ├── summernote-fa-IR.min.js │ │ ├── summernote-fi-FI.min.js │ │ ├── summernote-fr-FR.min.js │ │ ├── summernote-gl-ES.min.js │ │ ├── summernote-he-IL.min.js │ │ ├── summernote-hr-HR.min.js │ │ ├── summernote-hu-HU.min.js │ │ ├── summernote-id-ID.min.js │ │ ├── summernote-it-IT.min.js │ │ ├── summernote-ja-JP.min.js │ │ ├── summernote-ko-KR.min.js │ │ ├── summernote-lt-LT.min.js │ │ ├── summernote-lt-LV.min.js │ │ ├── summernote-mn-MN.min.js │ │ ├── summernote-nb-NO.min.js │ │ ├── summernote-nl-NL.min.js │ │ ├── summernote-pl-PL.min.js │ │ ├── summernote-pt-BR.min.js │ │ ├── summernote-pt-PT.min.js │ │ ├── summernote-ro-RO.min.js │ │ ├── summernote-ru-RU.min.js │ │ ├── summernote-sk-SK.min.js │ │ ├── summernote-sl-SI.min.js │ │ ├── summernote-sr-RS-Latin.min.js │ │ ├── summernote-sr-RS.min.js │ │ ├── summernote-sv-SE.min.js │ │ ├── summernote-ta-IN.min.js │ │ ├── summernote-th-TH.min.js │ │ ├── summernote-tr-TR.min.js │ │ ├── summernote-uk-UA.min.js │ │ ├── summernote-uz-UZ.min.js │ │ ├── summernote-vi-VN.min.js │ │ ├── summernote-zh-CN.min.js │ │ └── summernote-zh-TW.min.js │ │ ├── summernote-bs4.min.css │ │ ├── summernote-bs4.min.js │ │ ├── summernote-bs5.min.css │ │ ├── summernote-bs5.min.js │ │ ├── summernote-lite.min.css │ │ ├── summernote-lite.min.js │ │ ├── summernote.min.css │ │ ├── summernote.min.js │ │ └── summernote.png └── templates │ ├── account │ ├── account_inactive.html │ ├── base.html │ ├── email.html │ ├── email │ │ ├── account_already_exists_message.txt │ │ ├── account_already_exists_subject.txt │ │ ├── base_message.txt │ │ ├── email_confirmation_message.txt │ │ ├── email_confirmation_signup_message.txt │ │ ├── email_confirmation_signup_subject.txt │ │ ├── email_confirmation_subject.txt │ │ ├── password_reset_key_message.txt │ │ ├── password_reset_key_subject.txt │ │ ├── unknown_account_message.txt │ │ └── unknown_account_subject.txt │ ├── email_change.html │ ├── email_confirm.html │ ├── login.html │ ├── logout.html │ ├── messages │ │ ├── cannot_delete_primary_email.txt │ │ ├── email_confirmation_failed.txt │ │ ├── email_confirmation_sent.txt │ │ ├── email_confirmed.txt │ │ ├── email_deleted.txt │ │ ├── logged_in.txt │ │ ├── logged_out.txt │ │ ├── password_changed.txt │ │ ├── password_set.txt │ │ ├── primary_email_set.txt │ │ └── unverified_primary_email.txt │ ├── password_change.html │ ├── password_reset.html │ ├── password_reset_done.html │ ├── password_reset_from_key.html │ ├── password_reset_from_key_done.html │ ├── password_set.html │ ├── reauthenticate.html │ ├── signup.html │ ├── signup_closed.html │ ├── snippets │ │ ├── already_logged_in.html │ │ └── warn_no_email.html │ ├── verification_sent.html │ └── verified_email_required.html │ ├── base.html │ ├── mfa │ ├── authenticate.html │ ├── index.html │ ├── messages │ │ ├── recovery_codes_generated.txt │ │ ├── totp_activated.txt │ │ └── totp_deactivated.txt │ ├── recovery_codes │ │ ├── base.html │ │ ├── download.txt │ │ ├── generate.html │ │ └── index.html │ └── totp │ │ ├── activate_form.html │ │ ├── base.html │ │ └── deactivate_form.html │ ├── openid │ ├── base.html │ └── login.html │ ├── socialaccount │ ├── authentication_error.html │ ├── base.html │ ├── connections.html │ ├── login.html │ ├── login_cancelled.html │ ├── messages │ │ ├── account_connected.txt │ │ ├── account_connected_other.txt │ │ ├── account_connected_updated.txt │ │ └── account_disconnected.txt │ ├── signup.html │ └── snippets │ │ ├── login_extra.html │ │ └── provider_list.html │ └── tests │ └── test_403_csrf.html └── README.md /01_getting_set_up/01_create_project_app/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/01_getting_set_up/01_create_project_app/blog/__init__.py -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/blog/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/01_getting_set_up/01_create_project_app/blog/migrations/__init__.py -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/blog/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/blog/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | 7 | def my_blog(request): 8 | return HttpResponse("Hello, Blog!") 9 | -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/01_getting_set_up/01_create_project_app/codestar/__init__.py -------------------------------------------------------------------------------- /01_getting_set_up/01_create_project_app/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1 3 | django==4.2.7 4 | sqlparse==0.4.4 5 | -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/01_getting_set_up/02_deploy_project/blog/__init__.py -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/01_getting_set_up/02_deploy_project/blog/migrations/__init__.py -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/blog/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | 7 | def my_blog(request): 8 | return HttpResponse("Hello Blog!") 9 | -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/01_getting_set_up/02_deploy_project/codestar/__init__.py -------------------------------------------------------------------------------- /01_getting_set_up/02_deploy_project/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | django==4.2.7 4 | gunicorn==20.1.0 5 | sqlparse==0.4.4 6 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/01_creating_the_database/blog/__init__.py -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/01_creating_the_database/blog/migrations/__init__.py -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/blog/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | 7 | def my_blog(request): 8 | return HttpResponse("Hello, Blog!") 9 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/01_creating_the_database/codestar/__init__.py -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | -------------------------------------------------------------------------------- /02_models_part1/01_creating_the_database/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | gunicorn==20.1.0 6 | psycopg2==2.9.6 7 | sqlparse==0.4.4 8 | -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/02_databases_deployments/blog/__init__.py -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/02_databases_deployments/blog/migrations/__init__.py -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/blog/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | 7 | def my_blog(request): 8 | return HttpResponse("Hello Blog!") 9 | -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/02_databases_deployments/codestar/__init__.py -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /02_models_part1/02_databases_deployments/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | gunicorn==20.1.0 6 | psycopg2==2.9.6 7 | sqlparse==0.4.4 8 | -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/03_build_post_model/blog/__init__.py -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/blog/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import Post 3 | 4 | # Register your models here. 5 | admin.site.register(Post) -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/03_build_post_model/blog/migrations/__init__.py -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/blog/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | 7 | def my_blog(request): 8 | return HttpResponse("Hello Blog!") 9 | -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/03_build_post_model/codestar/__init__.py -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /02_models_part1/03_build_post_model/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | gunicorn==20.1.0 6 | psycopg2==2.9.6 7 | sqlparse==0.4.4 8 | -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/04_models_code_breakdown/blog/__init__.py -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/blog/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import Post 3 | 4 | # Register your models here. 5 | admin.site.register(Post) -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/04_models_code_breakdown/blog/migrations/__init__.py -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/blog/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | from django.http import HttpResponse 3 | 4 | # Create your views here. 5 | 6 | 7 | def my_blog(request): 8 | return HttpResponse("Hello Blog!") 9 | -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/02_models_part1/04_models_code_breakdown/codestar/__init__.py -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /02_models_part1/04_models_code_breakdown/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | gunicorn==20.1.0 6 | psycopg2==2.9.6 7 | sqlparse==0.4.4 8 | -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/01_admin_panel_powerup/blog/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/01_admin_panel_powerup/blog/migrations/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | ] -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/01_admin_panel_powerup/codestar/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /07_Rich_text_reload/01_admin_panel_powerup/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | django-summernote==0.8.20.0 6 | gunicorn==20.1.0 7 | psycopg2==2.9.6 8 | sqlparse==0.4.4 9 | -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/02_admin_panel_customisation/blog/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/02_admin_panel_customisation/blog/migrations/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | ] -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/02_admin_panel_customisation/codestar/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /07_Rich_text_reload/02_admin_panel_customisation/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | django-summernote==0.8.20.0 6 | gunicorn==20.1.0 7 | psycopg2==2.9.6 8 | sqlparse==0.4.4 9 | -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/03_adding_more_posts/blog/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/03_adding_more_posts/blog/migrations/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | ] -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/07_Rich_text_reload/03_adding_more_posts/codestar/__init__.py -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /07_Rich_text_reload/03_adding_more_posts/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | backports.zoneinfo==0.2.1;python_version<"3.9" 3 | dj-database-url==0.5.0 4 | django==4.2.7 5 | django-summernote==0.8.20.0 6 | gunicorn==20.1.0 7 | psycopg2==2.9.6 8 | sqlparse==0.4.4 9 | -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/09_views_part2/01_building_a_blogpost_view/blog/__init__.py -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/09_views_part2/01_building_a_blogpost_view/blog/migrations/__init__.py -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/09_views_part2/01_building_a_blogpost_view/codestar/__init__.py -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/requirements.txt: -------------------------------------------------------------------------------- 1 | asgiref==3.7.2 2 | dj-database-url==0.5.0 3 | django==4.2.7 4 | django-summernote==0.8.20.0 5 | gunicorn==20.1.0 6 | psycopg2==2.9.6 7 | sqlparse==0.4.4 8 | whitenoise==5.3.0 9 | -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/09_views_part2/01_building_a_blogpost_view/static/images/default.jpg -------------------------------------------------------------------------------- /09_views_part2/01_building_a_blogpost_view/static/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("Life, The Universe and Everything!"); -------------------------------------------------------------------------------- /10_create_about_app/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /10_create_about_app/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/about/__init__.py -------------------------------------------------------------------------------- /10_create_about_app/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /10_create_about_app/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/about/migrations/__init__.py -------------------------------------------------------------------------------- /10_create_about_app/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /10_create_about_app/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /10_create_about_app/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/blog/__init__.py -------------------------------------------------------------------------------- /10_create_about_app/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /10_create_about_app/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/blog/migrations/__init__.py -------------------------------------------------------------------------------- /10_create_about_app/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /10_create_about_app/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /10_create_about_app/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/codestar/__init__.py -------------------------------------------------------------------------------- /10_create_about_app/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /10_create_about_app/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /10_create_about_app/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/static/images/default.jpg -------------------------------------------------------------------------------- /10_create_about_app/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/static/images/nobody.jpg -------------------------------------------------------------------------------- /10_create_about_app/static/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /10_create_about_app/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/10_create_about_app/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /11_authorisation/01_allauth/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /11_authorisation/01_allauth/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/about/__init__.py -------------------------------------------------------------------------------- /11_authorisation/01_allauth/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/about/migrations/__init__.py -------------------------------------------------------------------------------- /11_authorisation/01_allauth/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/blog/__init__.py -------------------------------------------------------------------------------- /11_authorisation/01_allauth/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/blog/migrations/__init__.py -------------------------------------------------------------------------------- /11_authorisation/01_allauth/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/codestar/__init__.py -------------------------------------------------------------------------------- /11_authorisation/01_allauth/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /11_authorisation/01_allauth/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /11_authorisation/01_allauth/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/static/images/default.jpg -------------------------------------------------------------------------------- /11_authorisation/01_allauth/static/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /11_authorisation/01_allauth/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/01_allauth/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /11_authorisation/01_allauth/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/about/__init__.py -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/about/migrations/__init__.py -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/blog/__init__.py -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/blog/migrations/__init__.py -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/codestar/__init__.py -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/static/images/default.jpg -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/static/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/02_restrict_access/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /11_authorisation/02_restrict_access/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/about/__init__.py -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/about/migrations/__init__.py -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/blog/__init__.py -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/blog/migrations/__init__.py -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/codestar/__init__.py -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/static/images/default.jpg -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/static/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/11_authorisation/03_custom_template/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /11_authorisation/03_custom_template/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/about/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/about/migrations/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/blog/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/blog/forms.py: -------------------------------------------------------------------------------- 1 | from .models import Comment 2 | from django import forms 3 | 4 | 5 | class CommentForm(forms.ModelForm): 6 | class Meta: 7 | model = Comment 8 | fields = ('body',) -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/blog/migrations/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/codestar/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/static/images/default.jpg -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/static/images/nobody.jpg -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/static/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/01_posting_to_database/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /12_views_part_3/01_posting_to_database/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/about/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/about/migrations/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/blog/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/blog/forms.py: -------------------------------------------------------------------------------- 1 | from .models import Comment 2 | from django import forms 3 | 4 | 5 | class CommentForm(forms.ModelForm): 6 | class Meta: 7 | model = Comment 8 | fields = ('body',) -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/blog/migrations/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/codestar/__init__.py -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/static/images/default.jpg -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/static/images/nobody.jpg -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/12_views_part_3/05_edit_delete/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /12_views_part_3/05_edit_delete/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/about/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/about/migrations/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/blog/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/blog/forms.py: -------------------------------------------------------------------------------- 1 | from .models import Comment 2 | from django import forms 3 | 4 | 5 | class CommentForm(forms.ModelForm): 6 | class Meta: 7 | model = Comment 8 | fields = ('body',) -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/blog/migrations/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/blog/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.PostList.as_view(), name='home'), 6 | path('/', views.post_detail, name="post_detail"), 7 | ] 8 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/codestar/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/static/images/default.jpg -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/static/images/nobody.jpg -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/01_create_the_form/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /13_collaboration_form/01_create_the_form/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/about/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/about/migrations/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/blog/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/blog/forms.py: -------------------------------------------------------------------------------- 1 | from .models import Comment 2 | from django import forms 3 | 4 | 5 | class CommentForm(forms.ModelForm): 6 | class Meta: 7 | model = Comment 8 | fields = ('body',) -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/blog/migrations/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/codestar/__init__.py -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/static/images/default.jpg -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/static/images/nobody.jpg -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/13_collaboration_form/02_handle_the_POST_request/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /13_collaboration_form/02_handle_the_POST_request/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/about/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'about' 7 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/about/migrations/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/about/urls.py: -------------------------------------------------------------------------------- 1 | from . import views 2 | from django.urls import path 3 | 4 | urlpatterns = [ 5 | path('', views.about_me, name='about'), 6 | ] 7 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/blog/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'blog' 7 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/blog/forms.py: -------------------------------------------------------------------------------- 1 | from .models import Comment 2 | from django import forms 3 | 4 | 5 | class CommentForm(forms.ModelForm): 6 | class Meta: 7 | model = Comment 8 | fields = ('body',) -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/blog/migrations/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/codestar/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/env.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | os.environ.setdefault( 4 | "DATABASE_URL", "") 5 | os.environ.setdefault( 6 | "SECRET_KEY", "(j(j_+@%s$a955-5gw=m@b-%#$slmv$0aixrck&odnq*h+ig@0") -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/static/images/default.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/static/images/nobody.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /14_where_to_put_things/01_storing_images_in_cloudinary/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/02_storing_user_generated_images/google.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/02_storing_user_generated_images/google.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/about/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/about/migrations/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/about/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from . import views 3 | 4 | 5 | urlpatterns = [ 6 | path('', views.about_me, name='about'), 7 | ] 8 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/blog/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/blog/migrations/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/codestar/__init__.py -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/static/images/default.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/static/images/nobody.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/14_where_to_put_things/03_tidy_up/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /14_where_to_put_things/03_tidy_up/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /15_testing/Procfile: -------------------------------------------------------------------------------- 1 | web: gunicorn codestar.wsgi -------------------------------------------------------------------------------- /15_testing/about/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/about/__init__.py -------------------------------------------------------------------------------- /15_testing/about/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class AboutConfig(AppConfig): 5 | """ 6 | Provides primary key type for about app 7 | """ 8 | default_auto_field = 'django.db.models.BigAutoField' 9 | name = 'about' 10 | -------------------------------------------------------------------------------- /15_testing/about/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/about/migrations/__init__.py -------------------------------------------------------------------------------- /15_testing/about/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /15_testing/about/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from . import views 3 | 4 | 5 | urlpatterns = [ 6 | path('', views.about_me, name='about'), 7 | ] 8 | -------------------------------------------------------------------------------- /15_testing/blog/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/blog/__init__.py -------------------------------------------------------------------------------- /15_testing/blog/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class BlogConfig(AppConfig): 5 | """ 6 | Provides primary key type for blog app 7 | """ 8 | default_auto_field = 'django.db.models.BigAutoField' 9 | name = 'blog' 10 | -------------------------------------------------------------------------------- /15_testing/blog/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/blog/migrations/__init__.py -------------------------------------------------------------------------------- /15_testing/blog/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /15_testing/codestar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/codestar/__init__.py -------------------------------------------------------------------------------- /15_testing/runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.9.18 -------------------------------------------------------------------------------- /15_testing/static/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/static/images/default.jpg -------------------------------------------------------------------------------- /15_testing/static/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/static/images/nobody.jpg -------------------------------------------------------------------------------- /15_testing/staticfiles/images/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/images/default.jpg -------------------------------------------------------------------------------- /15_testing/staticfiles/images/nobody.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/images/nobody.jpg -------------------------------------------------------------------------------- /15_testing/staticfiles/js/script.js: -------------------------------------------------------------------------------- 1 | console.log("It works!"); -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/SOURCE: -------------------------------------------------------------------------------- 1 | Using Summernote v0.8.20 2 | -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/django_summernote.css: -------------------------------------------------------------------------------- 1 | .summernote-div { 2 | display: inline-block; 3 | position: relative; 4 | } 5 | 6 | form .summernote-div .dropdown-menu { 7 | margin-left: 0; 8 | } 9 | -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/font/summernote.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/summernote/font/summernote.eot -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/font/summernote.hash: -------------------------------------------------------------------------------- 1 | 9fe8a4284ea6542e5b857380d2288fbd -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/font/summernote.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/summernote/font/summernote.ttf -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/font/summernote.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/summernote/font/summernote.woff -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/font/summernote.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/summernote/font/summernote.woff2 -------------------------------------------------------------------------------- /15_testing/staticfiles/summernote/summernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Institute-Solutions/blog/765cad07f9d2f16e50d969bc471219ba9adf2729/15_testing/staticfiles/summernote/summernote.png -------------------------------------------------------------------------------- /15_testing/templates/account/email/account_already_exists_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Account Already Exists{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /15_testing/templates/account/email/email_confirmation_signup_message.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_message.txt" %} 2 | -------------------------------------------------------------------------------- /15_testing/templates/account/email/email_confirmation_signup_subject.txt: -------------------------------------------------------------------------------- 1 | {% include "account/email/email_confirmation_subject.txt" %} 2 | -------------------------------------------------------------------------------- /15_testing/templates/account/email/email_confirmation_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Please Confirm Your Email Address{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /15_testing/templates/account/email/password_reset_key_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /15_testing/templates/account/email/unknown_account_subject.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% autoescape off %} 3 | {% blocktrans %}Password Reset Email{% endblocktrans %} 4 | {% endautoescape %} 5 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/cannot_delete_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You cannot remove your primary email address ({{email}}).{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/email_confirmation_failed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Unable to confirm {{email}} because it is already confirmed by a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/email_confirmation_sent.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Confirmation email sent to {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/email_confirmed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have confirmed {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/email_deleted.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Removed email address {{email}}.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/logged_in.txt: -------------------------------------------------------------------------------- 1 | {% load account %} 2 | {% load i18n %} 3 | {% user_display user as name %} 4 | {% blocktrans %}Successfully signed in as {{name}}.{% endblocktrans %} 5 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/logged_out.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}You have signed out.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/password_changed.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully changed.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/password_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Password successfully set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/primary_email_set.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Primary email address set.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/account/messages/unverified_primary_email.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Your primary email address must be verified.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/mfa/messages/recovery_codes_generated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}A new set of recovery codes has been generated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/mfa/messages/totp_activated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app activated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/mfa/messages/totp_deactivated.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}Authenticator app deactivated.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/mfa/recovery_codes/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Recovery Codes" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /15_testing/templates/mfa/recovery_codes/download.txt: -------------------------------------------------------------------------------- 1 | {% for code in unused_codes %}{{ code }} 2 | {% endfor %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/mfa/totp/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | {% load i18n %} 3 | {% block head_title %} 4 | {% trans "Authenticator App" %} 5 | {% endblock head_title %} 6 | -------------------------------------------------------------------------------- /15_testing/templates/openid/base.html: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/base.html" %} 2 | -------------------------------------------------------------------------------- /15_testing/templates/socialaccount/base.html: -------------------------------------------------------------------------------- 1 | {% extends "account/base.html" %} 2 | -------------------------------------------------------------------------------- /15_testing/templates/socialaccount/messages/account_connected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been connected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/socialaccount/messages/account_connected_other.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account is already connected to a different account.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/socialaccount/messages/account_connected_updated.txt: -------------------------------------------------------------------------------- 1 | {% extends "socialaccount/messages/account_connected.txt" %} 2 | -------------------------------------------------------------------------------- /15_testing/templates/socialaccount/messages/account_disconnected.txt: -------------------------------------------------------------------------------- 1 | {% load i18n %} 2 | {% blocktrans %}The social account has been disconnected.{% endblocktrans %} 3 | -------------------------------------------------------------------------------- /15_testing/templates/socialaccount/snippets/login_extra.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | 3 | {% providers_media_js %} 4 | -------------------------------------------------------------------------------- /15_testing/templates/tests/test_403_csrf.html: -------------------------------------------------------------------------------- 1 | {% load socialaccount %} 2 | Sign In 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # blog --------------------------------------------------------------------------------