자습서를 거의 따르지 않았으므로 일반 세부 정보보기가 제대로 작동하도록 솔기를 만들 수 없습니다. pk로 전화를 걸고 페이지가 표시되지만 변수 {{publisher.name}}이 표시되지 않습니다. 나는 뷰와 모델에서 코드의 일부를 지워 버렸지 만, 주변기기로 생각하는 모델은 오류가 분명하다면 재 게시 할 수있다.변수 (필드?) 장고 일반 세부 정보보기에 표시되지 않습니다.
모든 파일을 HTML 파일을 제외하고 설문 조사 디렉토리에이 설문 조사/템플릿/여론 조사에서
감사
URL.py는 View.py
from django.conf.urls import url
from poll.views import PublisherList
from . import views
app_name = "poll"
urlpatterns = [
url(r'^publishers/$', PublisherList.as_view(), name = "publisherlist"),
url(r'^start/', views.PublisherCreate.as_view(), name = 'make-publisher'),
url(r'^(?P<pk>[0-9]+)/$', views.PublisherDetail.as_view(), name = 'detail-publisher'),
]
입니다
from django.shortcuts import render
from django.views.generic.edit import CreateView
from django.views import generic
from django.views.generic import ListView
from poll.models import Publisher
...
class PublisherDetail(generic.DetailView):
model = Publisher
template_name = 'Poll/publisher_details.html'
및 HTML 파일
{% extends "personal/header.html" %}
{% block content %}
<h1>{{ Publisher.name }}</h1>
<h1>Options</h1>
{%endblock%}
및 템플릿의 models.py
from django.db import models
from django.core.urlresolvers import reverse
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Meta:
ordering = ["-name"]
def __str__(self): # __unicode__ on Python 2
return self.name
def get_absolute_url(self):
return reverse('build:details', kwargs = {'pk':self.pk})
글쎄, 보통 그것은'객체'입니다. –
아니요,'get_context_object_name()'은 모델의 소문자로 된 이름을 사용합니다. –
둘 다 작동합니다 : https://docs.djangoproject.com/en/1.11/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.get_context_data –