├── .github └── workflows │ └── python-app.yml ├── .gitignore ├── README.md ├── pytest.ini ├── requirements.txt ├── setup.cfg ├── tests ├── __init__.py ├── conftest.py ├── fixtures │ ├── fixture_data.py │ └── fixture_user.py ├── test_about.py ├── test_auth_urls.py ├── test_comment.py ├── test_create.py ├── test_follow.py ├── test_homework.py ├── test_paginator.py ├── test_post.py ├── test_profile.py └── utils.py └── yatube ├── about ├── __init__.py ├── apps.py ├── migrations │ └── __init__.py ├── tests.py ├── urls.py └── views.py ├── core ├── __init__.py ├── apps.py ├── context_processors │ ├── __init__.py │ └── year.py ├── templatetags │ ├── __init__.py │ └── user_filters.py └── views.py ├── manage.py ├── posts ├── __init__.py ├── admin.py ├── apps.py ├── forms.py ├── migrations │ ├── 0001_initial.py │ ├── 0002_auto_20220423_2016.py │ ├── 0003_auto_20220530_1922.py │ ├── 0004_post_image.py │ ├── 0005_comment.py │ ├── 0006_follow.py │ ├── 0007_followgroup.py │ └── __init__.py ├── models.py ├── tests │ ├── __init__.py │ ├── test_forms.py │ ├── test_models.py │ ├── test_urls.py │ └── test_views.py ├── urls.py ├── utils.py └── views.py ├── templates ├── about │ ├── author.html │ └── tech.html ├── base.html ├── core │ ├── 403.html │ ├── 403csrf.html │ ├── 404.html │ └── 500.html ├── includes │ ├── comments.html │ ├── footer.html │ └── header.html ├── posts │ ├── create_post.html │ ├── follow.html │ ├── group_list.html │ ├── includes │ │ ├── form.errors.html │ │ ├── form.field.html │ │ ├── paginator.html │ │ ├── post.card.html │ │ └── switcher.html │ ├── index.html │ ├── post_detail.html │ └── profile.html └── users │ ├── logged_out.html │ ├── login.html │ ├── password_change_done.html │ ├── password_change_form.html │ ├── password_reset_complete.html │ ├── password_reset_confirm.html │ ├── password_reset_done.html │ ├── password_reset_form.html │ └── signup.html ├── users ├── __init__.py ├── apps.py ├── forms.py ├── migrations │ └── __init__.py ├── urls.py └── views.py └── yatube ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py /.github/workflows/python-app.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/.github/workflows/python-app.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/README.md -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/setup.cfg -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/fixtures/fixture_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/fixtures/fixture_data.py -------------------------------------------------------------------------------- /tests/fixtures/fixture_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/fixtures/fixture_user.py -------------------------------------------------------------------------------- /tests/test_about.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_about.py -------------------------------------------------------------------------------- /tests/test_auth_urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_auth_urls.py -------------------------------------------------------------------------------- /tests/test_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_comment.py -------------------------------------------------------------------------------- /tests/test_create.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_create.py -------------------------------------------------------------------------------- /tests/test_follow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_follow.py -------------------------------------------------------------------------------- /tests/test_homework.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_homework.py -------------------------------------------------------------------------------- /tests/test_paginator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_paginator.py -------------------------------------------------------------------------------- /tests/test_post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_post.py -------------------------------------------------------------------------------- /tests/test_profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/test_profile.py -------------------------------------------------------------------------------- /tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/tests/utils.py -------------------------------------------------------------------------------- /yatube/about/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/about/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/about/apps.py -------------------------------------------------------------------------------- /yatube/about/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/about/tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/about/tests.py -------------------------------------------------------------------------------- /yatube/about/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/about/urls.py -------------------------------------------------------------------------------- /yatube/about/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/about/views.py -------------------------------------------------------------------------------- /yatube/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/core/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/core/apps.py -------------------------------------------------------------------------------- /yatube/core/context_processors/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/core/context_processors/year.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/core/context_processors/year.py -------------------------------------------------------------------------------- /yatube/core/templatetags/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/core/templatetags/user_filters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/core/templatetags/user_filters.py -------------------------------------------------------------------------------- /yatube/core/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/core/views.py -------------------------------------------------------------------------------- /yatube/manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/manage.py -------------------------------------------------------------------------------- /yatube/posts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/posts/admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/admin.py -------------------------------------------------------------------------------- /yatube/posts/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/apps.py -------------------------------------------------------------------------------- /yatube/posts/forms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/forms.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0001_initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0001_initial.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0002_auto_20220423_2016.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0002_auto_20220423_2016.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0003_auto_20220530_1922.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0003_auto_20220530_1922.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0004_post_image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0004_post_image.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0005_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0005_comment.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0006_follow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0006_follow.py -------------------------------------------------------------------------------- /yatube/posts/migrations/0007_followgroup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/migrations/0007_followgroup.py -------------------------------------------------------------------------------- /yatube/posts/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/posts/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/models.py -------------------------------------------------------------------------------- /yatube/posts/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/posts/tests/test_forms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/tests/test_forms.py -------------------------------------------------------------------------------- /yatube/posts/tests/test_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/tests/test_models.py -------------------------------------------------------------------------------- /yatube/posts/tests/test_urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/tests/test_urls.py -------------------------------------------------------------------------------- /yatube/posts/tests/test_views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/tests/test_views.py -------------------------------------------------------------------------------- /yatube/posts/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/urls.py -------------------------------------------------------------------------------- /yatube/posts/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/utils.py -------------------------------------------------------------------------------- /yatube/posts/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/posts/views.py -------------------------------------------------------------------------------- /yatube/templates/about/author.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/about/author.html -------------------------------------------------------------------------------- /yatube/templates/about/tech.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/about/tech.html -------------------------------------------------------------------------------- /yatube/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/base.html -------------------------------------------------------------------------------- /yatube/templates/core/403.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/core/403.html -------------------------------------------------------------------------------- /yatube/templates/core/403csrf.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/core/403csrf.html -------------------------------------------------------------------------------- /yatube/templates/core/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/core/404.html -------------------------------------------------------------------------------- /yatube/templates/core/500.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/core/500.html -------------------------------------------------------------------------------- /yatube/templates/includes/comments.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/includes/comments.html -------------------------------------------------------------------------------- /yatube/templates/includes/footer.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/includes/footer.html -------------------------------------------------------------------------------- /yatube/templates/includes/header.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/includes/header.html -------------------------------------------------------------------------------- /yatube/templates/posts/create_post.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/create_post.html -------------------------------------------------------------------------------- /yatube/templates/posts/follow.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/follow.html -------------------------------------------------------------------------------- /yatube/templates/posts/group_list.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/group_list.html -------------------------------------------------------------------------------- /yatube/templates/posts/includes/form.errors.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/includes/form.errors.html -------------------------------------------------------------------------------- /yatube/templates/posts/includes/form.field.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/includes/form.field.html -------------------------------------------------------------------------------- /yatube/templates/posts/includes/paginator.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/includes/paginator.html -------------------------------------------------------------------------------- /yatube/templates/posts/includes/post.card.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/includes/post.card.html -------------------------------------------------------------------------------- /yatube/templates/posts/includes/switcher.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/includes/switcher.html -------------------------------------------------------------------------------- /yatube/templates/posts/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/index.html -------------------------------------------------------------------------------- /yatube/templates/posts/post_detail.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/post_detail.html -------------------------------------------------------------------------------- /yatube/templates/posts/profile.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/posts/profile.html -------------------------------------------------------------------------------- /yatube/templates/users/logged_out.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/logged_out.html -------------------------------------------------------------------------------- /yatube/templates/users/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/login.html -------------------------------------------------------------------------------- /yatube/templates/users/password_change_done.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/password_change_done.html -------------------------------------------------------------------------------- /yatube/templates/users/password_change_form.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/password_change_form.html -------------------------------------------------------------------------------- /yatube/templates/users/password_reset_complete.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/password_reset_complete.html -------------------------------------------------------------------------------- /yatube/templates/users/password_reset_confirm.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/password_reset_confirm.html -------------------------------------------------------------------------------- /yatube/templates/users/password_reset_done.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/password_reset_done.html -------------------------------------------------------------------------------- /yatube/templates/users/password_reset_form.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/password_reset_form.html -------------------------------------------------------------------------------- /yatube/templates/users/signup.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/templates/users/signup.html -------------------------------------------------------------------------------- /yatube/users/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/users/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/users/apps.py -------------------------------------------------------------------------------- /yatube/users/forms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/users/forms.py -------------------------------------------------------------------------------- /yatube/users/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/users/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/users/urls.py -------------------------------------------------------------------------------- /yatube/users/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/users/views.py -------------------------------------------------------------------------------- /yatube/yatube/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /yatube/yatube/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/yatube/settings.py -------------------------------------------------------------------------------- /yatube/yatube/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/yatube/urls.py -------------------------------------------------------------------------------- /yatube/yatube/wsgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PashkaVRN/hw05_final/HEAD/yatube/yatube/wsgi.py --------------------------------------------------------------------------------