Не удалось получить данные из базы данных GET /favicon.ico HTTP / 1.1 - PullRequest
0 голосов
/ 01 ноября 2019

Я создаю веб-сайт для продуктового магазина (Pyshop) и создал десять предметов, используя sqlite, но я не могу получить названия продуктов.

В файле Pyshop >> urls.py я добавил адрес пути к продукту ('products /', include ('products.urls')),

в настройках. py файл Я также добавил «products.apps.ProductsConfig» в установленные приложения.

В проекте мы создали 2 модели - Product и Offer. В продукте мы храним имя, цену, запас и URL для изображения. В предложении есть код, описание и скидка.

Я пытался прочитать об ошибке favicon.ico, но не могу понять, почему возникает эта ошибка и как ее решить.

Продукт>> urls.py выглядит следующим образом:

from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('new', views.new)

Продукты >> views.py выглядит следующим образом:

from django.shortcuts import render
from .models import Product
from django.http import HttpResponse

def index(request):
    products = Product.objects.all()
    return render(request, 'index.html', {'Products': products})

def new(request):
    return HttpResponse('New Product')

Продукты >> шаблоны >> index.html выглядит следующим образом:

< h1 > Products < / h1 >

< ul >
    { % for product in products %}
        < li > {{product.name}}({{product.price}}) < / li >
    { % endfor %}
< / ul >

Я ожидаю, что страница, на которой будет напечатано название и цена Продукта, но ничего не печатается.

когда я запускаю сервер, эта ошибка появляется на консоли.

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
November 01, 2019 - 12:57:58
Django version 2.2.1, using settings 'pyshop.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[01/Nov/2019 12:58:02] "GET /products/ HTTP/1.1" 200 37
Not Found: /favicon.ico
[01/Nov/2019 12:58:02] "GET /favicon.ico HTTP/1.1" 404 2081

Ответы [ 3 ]

0 голосов
/ 01 ноября 2019

Вы должны добавить products.urls в project / urls.py следующим образом:

from django.urls import path, include

urlpatterns = [
   ....
   path('products/',include('products.urls'),

 ]
0 голосов
/ 01 ноября 2019

favicon.ico в основном значок вашего сайта на вкладке, когда пользователь впервые заходит на него. Вы можете зарегистрироваться для этого онлайн (обычно это делается в конце разработки).

Причина, по которой вы не видите данные о вашем продукте, потому что вы неправильно набрали контекст Product с заглавной буквой P в шаблоне. ,Либо измените Product в ваших представлениях на product, либо измените product в шаблоне на Product

0 голосов
/ 01 ноября 2019

Когда браузер заходит на сайт, он пытается получить значок сайта под /favicon.ico. Если вы не настроили Django для возврата значка, он вернет 404.

Вы можете следовать этому руководству , чтобы правильно настроить Django.

Тот факт, что вашстраница не отображается, мне не понятно, но она явно не связана.

Вы писали:

return render(request, 'index.html', {'Products': products})

Но в вашем шаблоне вы используете products без прописной буквыП. Попытайся сделать это правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...