Форум сайта python.su
Здравствуйте,
Начал писать сайт на django 2.1 , и уперся в urlы:
Делаю все как в документации:
... from django.contrib import admin from django.urls import path,include,re_path from page import views urlpatterns = [ path('admin/', admin.site.urls), path('auto/',views.auto),# ошибка 404, но представление есть ] ...
Отредактировано dbalor (Сен. 1, 2018 11:28:05)
Офлайн
Офлайн
Да, отсюда.
Но ничего не помогает.
пробовал re_path
пробовал так:
path('auto/',path/urls)
Все по прежнему вылетает эта ошибка.
Ребят кто сталкивался?
Офлайн
Чутка не так написано. Должно быть два файла urls. Один в корне проекта, а другой в папке проекта. У тебя сейчас не работает первый файл. Вместо views попробуй написать так
path('auto/', include('auro.urls'))
path('', views.auto, name='auto')
Офлайн
MEOW,
теперь по адресу 127.0.0.1:8000 выдает ошибку 404
по адресу 127.0.0.1:8000/auto выдает ошибку:
AttributeError at /auto / ‘str’ object has no attribute ‘get’
urls проектов
path('admin/', admin.site.urls), path('auto/',auto.urls), #path('auto/',include('auto.urls')), #Пробовал и так - такая же ошибка
path('', views.auto, name='auto'),
Отредактировано dbalor (Сен. 2, 2018 15:02:41)
Офлайн
А что у тебя в views.py находится?
Офлайн
from django.shortcuts import render from django.http import HttpResponse from auto.models import Category, Auto # Create your views here. def index(request, cat_id): if cat_id==None: cat=Category.objects.first() else: cat=Category.objects.get(pk=cat_id) auto=Auto.objects.filter(category=cat) s="Категория: "+cat.name+"<br><br>" for good in goods: s=s+"("+str(auto.pk)+")"+auto.name+"<br>" return HttpResponse(s) def auto(request): return ""
Отредактировано dbalor (Сен. 2, 2018 17:07:25)
Офлайн
Функция у тебя называется index, а вызываешь ты функцию auto. либо ты напиши вместо views.auto - views.index, либо функцию index переименую в auto
Офлайн
from django.contrib import admin from django.urls import path from page import views urlpatterns = [ path('admin/', admin.site.urls), path('auto/',views.auto), ]
def auto(request): return ""
MEOWФайла может быть два, но это не обязательно(то есть не “должно”). Но рекомендуется делать для приложения свой urls. А не работает из-за вьюхи.
Должно быть два файла urls. Один в корне проекта, а другой в папке проекта. У тебя сейчас не работает первый файл.
MEOWДиректория(приложение) должно называться page. auto/ - это url, view.auto - это вьюха в приложении page.
у тебя эта папка называется auto, так?
Отредактировано Vladimirv (Сен. 3, 2018 12:58:10)
Офлайн