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)

Вернуться на верх