Below is the snippet of my project tree::
Regards,
Amitesh Sahay91-750 797 8619
On Wednesday, 18 September, 2019, 12:58:57 am IST, Amitesh Sahay
<[email protected]> wrote:
Hello Users,
I am building an app called "SHOP". For some very wired reason I am getting
below error:------------------------------------------------------------
ValueError at /shop/
The 'image' attribute has no file associated with it.
| Request Method: | GET |
| Request URL: | http://localhost:8000/shop/ |
| Django Version: | 2.2.5 |
| Exception Type: | ValueError |
| Exception Value: | The 'image' attribute has no file associated with it. |
| Exception Location: |
/home/amitesh/PycharmProjects/myvenv/lib/python3.6/site-packages/django/db/models/fields/files.py
in _require_file, line 38 |
| Python Executable: | /home/amitesh/PycharmProjects/myvenv/bin/python |
| Python Version: | 3.6.8 |
| Python Path: | ['/home/amitesh/PycharmProjects/perfectcushion',
'/usr/lib/python36.zip',
'/usr/lib/python3.6',
'/usr/lib/python3.6/lib-dynload',
'/home/amitesh/PycharmProjects/myvenv/lib/python3.6/site-packages'] |
| Server time: | Tue, 17 Sep 2019 18:59:22 +0000 |
--------------------------------------------------------------------When I see
the debug page further I see that my base.html is complaining, below is the
error:
Error during template rendering
In template
/home/amitesh/PycharmProjects/perfectcushion/SHOP/templates/base.html, error at
line 0
The 'image' attribute has no file associated with it.
| 1 | {% load staticfiles %} |
| 2 | <!DOCTYPE html> |
| 3 | <html lang="en"> |
| 4 | <head> |
| 5 | <meta charset="UTF-8"> |
| 6 | <meta name="description", content="{% block metadescription %}{%
endblock %}"> |
| 7 | <title>{% block title %}{% endblock %}</title> |
| 8 | </head> |
| 9 | <body> |
base.html
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="description", content="{% block metadescription %}{% endblock
%}">
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<div>
{% include 'header.html' %}
{% include 'navbar.html' %}
{% block content %}
{% endblock %}
</div>
{% include 'footer.html' %}
</body>
</html>headers.html
{% load staticfiles %}
<header>
<center>
<img src="{% static 'img/logo.png' %}" alt="Perfect Cushion Store">
</center>
</header>navbar.html
{% load staticfiles %}
<nav>
<ul>
<li><a href="{% url 'shop:allProdCat' %}">All Products</a></li>
<li>Your Cart()</li>
</ul>
</nav>
category.html
{% extends 'base.html' %}
{% load staticfiles %}
{% block metadescription %}
{% if category %}
{{ category.description|truncatewords:125 }}
{% else %}
Welcome to the cushion store where you can buy comfy and awesome
cushions.
{% endif %}
{% endblock %}
{% block title %}
{% if category %}
{{ category.name }} - Perfect Cushion Store
{% else %}
See our Cushion Collection - Perfect Cushion Store
{% endif %}
{% endblock %}
{% block content %}
<!-- Breadcrumb navigation-->
{% if category %}
<div>
<div>
<p><a href="{% url 'SHOP:allProdCat' %}">Our Product
Collection</a> | {{ category.name }}</p>
</div>
</div>
{% endif %}
<div>
{% if category %}
<img src="{{ category.image.url }}" alt="{{ category.name }}">
</div>
<br>
<div>
<h1>{{ category.name }}</h1>
<p>{{ category.description }}</p>
</div>
{% else %}
<img src="{% static 'img/banner.jpg' %}" alt="Our Products Collection">
</div>
<br>
<div>
<h1>Our Products collection</h1>
<p>
Lorem Ipsum is simply dummy text of the printing and typesetting
industry. Lorem Ipsum has been the industry's standard dummy text
ever since the 1500s, when an unknown printer took a galley of type
and.</p>
</div>
{% endif %}
<div>
<div>
{% for product in products %}
<div>
<div>
<a href=""><img src="{{ product.image.url }}" alt="{{
product.name }}"></a>
<div>
<h4>{{ product.name }}</h4>
<p>{{ product.price }}</p>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endblock %}SHOP/urls.py
from django.urls import path
from . import views
app_name = 'shop'
urlpatterns = [
path('', views.allProdCat, name='allProdCat'),
path('<slug:c_slug>/', views.allProdCat, name='products_by_category'),
]project/urls.py
from django.contrib import admin
from django.urls import path, include
from SHOP import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('shop/', include('SHOP.urls')),
]
# We need to map the static and the media URLS with the below settings
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)views.py
from django.shortcuts import render, get_object_or_404
from .models import Category, Product
def allProdCat(request, c_slug=None):
c_page = None
products = None
if c_slug is not None:
c_page = get_object_or_404(Category, c_slug=c_slug)
products = Product.objects.filter(category=c_page, available=True)
else:
products = Product.objects.all().filter(available=True)
return render(request, 'shop/category.html', {'category': c_page,
'products': products})Please help me figure out my mistake.
Regards,
Amitesh Sahay
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/1020759912.6891903.1568748605693%40mail.yahoo.com.