DJango отображает неправильный вид
Последние несколько дней я изо всех сил пытаюсь изучить Django и столкнулся с необычной проблемой. Я знаю, что для некоторых это очень элементарно, поэтому прошу вашей помощи в этом вопросе.
Я создал два разных представления, которые будут показывать два разных вывода.
from django.shortcuts import render
from django.template import loader
from django.http import HttpResponse
# Create your views here.
def computers(request):
template_name = loader.get_template('computers/computers.html')
context = {
'a':[
{
'sample1': 'WMCD0001',
'sample2': 'Desktop',
'sample3': 'Lenovo ThinkPad',
'sample4': '10.10.10.100',
'sample5': 'Active',
},
]
}
return HttpResponse(template_name.render(context, request))
def newdevice(request):
return render(request, 'computers/newdevice.html')
# return HttpResponse(template.render(request, context))
Я также настроил файл urls в приложении, который выглядит следующим образом
from django.urls import path
from . import views
urlpatterns = [
# path('', views.index, name='computers'),
path('', views.computers, name='computers'),
path('computers/newdevice/', views.newdevice, name='computers/newdevice')
]
Последним, что я написал, были урлы в проекте, которые выглядят так
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('computers/', include('computers.urls')),
path('computers/newdevice/', include('computers.urls')),
path('admin/', admin.site.urls),
]
Когда я пытаюсь перейти на страницу localhost:8000/computers, она показывает правильный вид. Проблема в том, что когда я пытаюсь просмотреть страницу под localhost:8000/computers/newdevice, она показывает тот же вид, что и в компьютерах.
Любая помощь будет высоко оценена. Заранее благодарю тех, кто поможет
Простая вещь, вам не нужно включать компьютерные урлы несколько раз, потому что из-за этого многократного включения для компьютерных урлов вы получаете один и тот же вид. Просто удалите это второе включение.
Удалите это:
path('computers/newdevice/', include('computers.urls')),
И сохраните только это:
path('computers/', include('computers.urls')),
Теперь перейдите к следующему маршруту:
localhost:8000/computers/
localhost:8000/computers/computers/newdevice/
ИЛИ:
Изменить это:
path('computers/newdevice/',views.newdevice)
К этому:
path('newdevice/',views.newdevice)
И перейдите к следующим маршрутам:
localhost:8000/computers/newdevice/
И теперь вы получите правильный вывод