Извините, что я новичок в Django и программировании вообще, но я пытаюсь вызвать переменные из моей модели, которые будут отображаться на определенной странице. Я сопоставил свои URL-адреса с example.com/archive/book_slug и хотел бы получить детали, такие как название, автор, ISBN или что-то еще. Я использовал приложение для блога, чтобы зарегистрировать свои модели на странице администратора.Шаблон Django не отображает мои варианты моделей
Проблема возникает в моем шаблоне, когда я перехожу к URL-адресу, ничего не отображается. Я хочу, чтобы название книги отображалось в заголовке. Может ли кто-нибудь помочь?
блог/models.py
from django.db import models
class Book_item(models.Model):
book_title = models.CharField(max_length=255, blank=False)
book_author = models.CharField(max_length=255)
book_publisher = models.CharField(max_length=255, blank=True)
book_date_published = models.IntegerField(blank=True)
book_isbn = models.IntegerField(blank=True)
book_slug = models.SlugField(max_length=255, unique=True, blank=False,
primary_key=True)
book_body = models.TextField(blank=True)
def __unicode__(self):
return self.book_title
блог/views.py
from django.shortcuts import render, get_object_or_404
from blog.models import Book_item
# view for /achive/; template at archive.html
def archive_index(request):
book_info = Book_item.objects.all()
context = {'book_info' : book_info}
return render(request, 'blog/archive.html', context)
# view for /archive/book_title; 404 if no title; template at book_detail.html
def book_details(request, book_slug):
bookdeets = Book_item.objects.filter(book_slug=book_slug)
details = get_object_or_404(Book_item, book_slug=book_slug)
context = {'details' : details, 'bookdeets' : bookdeets}
return render(request, 'blog/book_detail.html', context)
блог/urls.py
from django.conf.urls import patterns, url
from blog import views
urlpatterns = patterns('',
# archive index at /archive/
url(r'^$', views.archive_index),
# book deatils at /archive/book_title
url(r'^(?P<book_slug>[\w-]+)/$', views.book_details),
)
блог/book_detail.html
{% extends "base.html" %}
{% block title %}{{Book_item.book_title}}{% endblock %}
{% block headercontent %}
<h1>{{Book_item.book_title}}</h1>
{% endblock %}
Какое содержимое «base.html»? Определяет ли он блок с названием 'headercontent'? –