Код: Выделить всё
from django.contrib.auth.models import User
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=225)
class Meta:
verbose_name_plural = 'Categories'
def __str__(self):
return self.name
class Item(models.Model):
Category = models.ForeignKey(Category,related_name='items', on_delete=models.CASCADE )
name = models.CharField(max_length=225)
description = models.TextField(blank=True, null=True)
image = models.ImageField(upload_to='item_images', blank=True, null=True)
created_by = models.ForeignKey(User, related_name='items', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.name
Код: Выделить всё
from django.shortcuts import render , get_object_or_404
from .models import Item
def detail(request, pk):
item = get_object_or_404(Item, pk=pk)
return render(request, 'item/detail.html',{
'item': item
})
Код: Выделить всё
{% extends 'core/base.html' %}
{% block title %}{{ item.name }}{% endblock %}
{% block content %}
[img]{{ item.image.url }}[/img]
{% endblock %}
Код: Выделить всё
{% extends 'core/base.html' %}
{% block title %}Welcome{% endblock %}
{% block content %}
Newest Oportunity
{% for item in items %}
[url=#]
[img]{{ item.image.url }}[/img]
{{ item.name }}
[/url]
{% endfor %}
Categories
{% for category in categories %}
[url={% url ]
{{ category.name }}
{{ category.items.count }} items
[/url]
{% endfor %}
{% endblock %}
Код: Выделить всё
from django.urls import path
from . import views
app_name = 'item'
urlpatterns = [
path('/', views.detail, name='detail'),
]
Код: Выделить всё
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
from core.views import index, contact
urlpatterns = [
path('contact/',contact, name='contact'),
path('items/', include('item.urls')),
path('', index, name='index'),
path("admin/", admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Reverse for 'detail' with arguments '('',)' not found. 1 pattern(s) tried: ['items/(?P
[0-9]+)/\\Z']
< /code>
Я ожидал, что, когда я нажму на элемент, он даст мне конкретные данные на другой странице, потому что в каждой категории есть разные элементы. Проблема, кажется, заключается в том, как я передаю первичный ключ. Я использую код Anaconda 3 и Visual Studio.
Подробнее здесь: https://stackoverflow.com/questions/764 ... 1-patterns
Мобильная версия