Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions django_views_routing_homework/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

]


MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
Expand Down
7 changes: 7 additions & 0 deletions django_views_routing_homework/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
from django.urls import path

from django_views_routing_homework.views.level_1.a_welcome_user import welcome_user_view
from django_views_routing_homework.views.level_1.b_bye_user import bye_user_view
from django_views_routing_homework.views.level_1.c_baned_username import is_username_banned_view
from django_views_routing_homework.views.level_1.d_user_info import get_user_info_view
from django_views_routing_homework.views.level_1.e_month_title import get_month_title_view
from django_views_routing_homework.views.level_2.a_user_info_by_username import get_user_info_by_username_view
from django_views_routing_homework.views.level_2.c_product_type import get_products_view
from django_views_routing_homework.views.level_2.d_authorization import authorization_view, process_authorization_view
Expand All @@ -15,6 +18,7 @@
urlpatterns = [
path('admin/', admin.site.urls),
path('welcome/', welcome_user_view),
path('bye/', bye_user_view),
path('banned/<slug:username>/', is_username_banned_view),
path('user-info-by-username/<int:username>/', get_user_info_by_username_view),
path('products/', get_products_view),
Expand All @@ -24,5 +28,8 @@
path('user/validate/', validate_user_data_view),
path('user/github/<slug:github_username>/full-name/', fetch_name_from_github_view),
path('text/generate/', generate_file_with_text_view),
path('user-info/<int:user_id>/', get_user_info_view),
path('month-title/<int:month_number>/', get_month_title_view)
# добавлять пути тут
]

Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@


def welcome_user_view(request):
welcome_message = 'Bye, user'
welcome_message = "Hello , user"
return HttpResponse(welcome_message)
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@
2. Результат проверяйте по ссылке http://127.0.0.1:8000/banned/тут интересующий юзернэйм/,
например http://127.0.0.1:8000/banned/any_username/
"""
BANNED_USERNAMES = ['red_dev', 'green_bear', 'monster']
BANNED_USERNAMES = ["red_dev", "green_bear", "monster"]


def is_username_banned_view(request, username: str):
# код писать тут
return HttpResponse('User not banned')
if username in BANNED_USERNAMES:
return HttpResponse("User banned")
else:
return HttpResponse("User not banned")
8 changes: 4 additions & 4 deletions django_views_routing_homework/views/level_1/d_user_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
3. Проверьте созданный вами путь с несуществуюшим айдишником.
"""
USER_ID_TO_USER_INFO_MAPPER = {
1: {'username': 'red_dev', 'age': 34},
2: {'username': 'green_bear', 'age': 43},
3: {'username': 'monster', 'age': 17},
1: {"username": "red_dev", "age": 34},
2: {"username": "green_bear", "age": 43},
3: {"username": "monster", "age": 17},
}


def get_user_info_view(request, user_id: int):
if user_id in USER_ID_TO_USER_INFO_MAPPER:
return JsonResponse(data=USER_ID_TO_USER_INFO_MAPPER[user_id])
else:
return JsonResponse(data={'error': 'There is no user info'}, status=404)
return JsonResponse(data={"error": "There is no user info"}, status=404)
23 changes: 20 additions & 3 deletions django_views_routing_homework/views/level_1/e_month_title.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,26 @@


def get_month_title_by_number(month_number: int):
pass # код писать тут
months = {
1: "January",
2: "February",
3: "March",
4: "April",
5: "May",
6: "June",
7: "July",
8: "August",
9: "September",
10: "October",
11: "November",
12: "December",
}
if month_number in months:
return months.get(month_number)


def get_month_title_view(request, month_number: int):
# код писать тут
return HttpResponseNotFound('Месяца с таким номером не существует')
if get_month_title_by_number(month_number):
return HttpResponse(get_month_title_by_number(month_number))
else:
return HttpResponseNotFound("Месяца с таким номером не существует")