Python django challenge app и при передаче url, содержащего числовые данные, возникает следующая ошибка
views.py
from http.client import HTTPResponse
from django.shortcuts import render
from django.http import HttpResponse,HttpResponseNotFound
# Create your views here.
def index(request,week):
return HTTPResponse(week)
def allweek(request,week):
text=None
if week=='sunday':
text='Sunday is funday and also utilize well'
elif week=='monday':
text='start of week and after break'
elif week=='tuesday':
text='very long meetings'
elif week=='wednesday':
text='finished half of week'
elif week=='thursday':
text='preparing for weekend party day'
elif week=='friday':
text='weekend arrived'
elif week=='saturday':
text='wait is over enjoy tour day!'
else:
return HttpResponseNotFound('Entered wrong week of the day')
return HttpResponse(text)
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('<int:week>',views.index),
path('<str:week>',views.allweek),
]
Получение следующей ошибки при выполнении приведенного выше кода Поскольку я пытался использовать значения int и str в адресах для отображения соответствующих представлений, но при отображении значений int возникает следующая ошибка.
AttributeError at /challenges/1 Объект 'int' не имеет атрибута 'makefile'
while runni
Посмотрев на вашу urls, вы вызываете index функцию представления. И вы возвращаете http клиент HTTPResponse. Экземпляры класса HTTPResponse возвращаются после успешного соединения и не инстанцируются непосредственно пользователем.
Измените индекс views.py с
return HTTPResponse(week)
К этому
return HttpResponse(week)