Python Django DetailView未从模型中获取数据

Python Django DetailView未从模型中获取数据,python,django,Python,Django,我使用的是Django 1.8和Python版本2.7.3 我一直在学习教程,因为我对Django还是个新手 我能够从教程中创建示例站点,并决定使用教程中的功能创建自己的站点。我正在做的网站是一个简单的工匠搜索网站。我的问题是我不能让DetailView从数据库中提取信息,但是当我将其作为ListView并在for循环中调用信息时,我可以让DetailView提取信息。我已经浏览了教程文件和我正在制作的网站的文件,因为这在教程网站上非常有效,希望我只是跳过一些简单的东西 这是我的档案: URL.

我使用的是Django 1.8和Python版本2.7.3

我一直在学习教程,因为我对Django还是个新手

我能够从教程中创建示例站点,并决定使用教程中的功能创建自己的站点。我正在做的网站是一个简单的工匠搜索网站。我的问题是我不能让DetailView从数据库中提取信息,但是当我将其作为ListView并在for循环中调用信息时,我可以让DetailView提取信息。我已经浏览了教程文件和我正在制作的网站的文件,因为这在教程网站上非常有效,希望我只是跳过一些简单的东西

这是我的档案:

URL.py:

views.py

base.html

search.html

results.html

single.html

当我搜索这个特别的问题时,我遇到很多人发布views.py,但我重新观看了教程,我从未编辑过views.py,但它在教程中起作用,所以我不能100%确定出了什么问题


非常感谢您的帮助,或者如果您需要更多帮助,请告诉我。

您不会将任何称为post的内容传递到您的详细信息模板。默认情况下,Django将使用模型的小写名称,因此您可以将模板更改为使用人员,或者在视图/url中定义更合适的上下文对象名称。

是否收到异常?浏览器是否呈现模板?首先,我想您忘了在此处添加尾随斜杠urlr'^?P\d+/$'。您实际上是如何尝试将pk传递给detailview的,还是手动键入所需人员页面的url?嗯,你可以在urls.py中做任何事情,但是有一天它可能会变得非常复杂…您好,对不起,是的,浏览器显示模板并且没有给出错误,字段只是空白。我将尝试尾部斜线,希望这就是我所缺少的。我正试图通过结果页面上的链接传递pk。谢谢你的回答哦,我的上帝,非常感谢你,这正是问题所在。非常感谢你!
from django.conf.urls import patterns, include, url
from django.views.generic import ListView, DetailView
from search.models import People

urlpatterns = patterns('',
        url(r'^$', ListView.as_view(
            queryset=People.objects.all(),
            template_name="search.html")),

        url(r'^(?P<pk>\d+)$', DetailView.as_view(
            model=People,
            template_name="single.html")),

        url(r'^results/$', ListView.as_view(
            queryset=People.objects.all().order_by("-name")[:5],
            template_name="results.html")),         

)
from django.db import models

# Create your models here.
class People(models.Model):
    name = models.TextField()
    occupation = models.TextField()
    contact = models.TextField()

    def __unicode__(self):
        return self.name
from django.shortcuts import render
# Create your views here.
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<!--header file-->
 <head>
    <title>Handyman Search</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="{% static "css/bootstrap.min.css" %}">
<!-- Optional theme -->
<link rel="stylesheet" href="{% static "css/bootstrap-theme.min.css" %}">

  </head>
{% block content %}
{% endblock %}
{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<!--start of body-->
<div class="container" align="center" style="padding-top:180px">
<img src="{% static "images/hammer.jpeg" %}" class="img-responsive">
</div>
<div class="container" style="padding-top:50px">
  <div class="row">
  <div class="col-lg-10 col-sm-push-1">
<form role="search" action="results">
    <div class="input-group">
      <input type="text" class="form-control" placeholder="Search for..." id="searchquery">
      <span class="input-group-btn">
        <button class="btn btn-primary" type="submit" href="results">Search</button>
      </span>
    </div><!-- /input-group -->
</form>
  </div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</div><!--container-->
</body>
<!-- end of body file -->
</html>
{% endblock %}
{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<!--start of body-->

<div class="container">
  <div class="row">
<div class="col-xs-1" style="min-height:80px; min-width:90px">
<img src="{% static "images/hammer.jpeg" %}" class="img" width="100%" style="min-height:80px; min-width:80px">
</div>
  <div class="col-lg-10" style="padding-top:20px">
    <div class="input-group">
      <input type="text" class="form-control" placeholder="Search for...">
      <span class="input-group-btn">
        <button class="btn btn-primary" type="button">Search</button>
      </span>
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</div><!--container-->

<!--results-->
<div class="container fluid" style="padding-top:80px">
<div class="row">
<div class="span6" style="float: none; margin: 0 auto;">
<div class="panel panel-primary">
  <!-- Default panel contents -->
  <div class="panel-heading">Results</div>


  <!-- List group -->
  <ul class="list-group">
    {% for post in object_list %}
    <li class="list-group-item"><a href="/search/{{post.id}}">{{ post.occupation }}</a></li>
    {% endfor %}
  </ul>
</div>
</div>
</div>
</div>
<!--results end-->
{% endblock %}
{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<!--start of body-->

<div class="container">
  <div class="row">
<div class="col-xs-1" style="min-height:80px; min-width:90px">
<img src="{% static "images/tux.jpeg" %}" class="img" width="100%" style="min-height:80px; min-width:80px">
</div>
  <div class="col-lg-10" style="padding-top:20px">
    <div class="input-group">
      <input type="text" class="form-control" placeholder="Search for...">
      <span class="input-group-btn">
        <button class="btn btn-primary" type="button">Search</button>
      </span>
    </div><!-- /input-group -->
  </div><!-- /.col-lg-6 -->
</div><!-- /.row -->
</div><!--container-->

<!--results-->

<div class="container fluid" style="padding-top:80px">
<div class="row">
<div class="span6" style="float: none; margin: 0 auto;">
<div class="panel panel-primary">
  <!-- Default panel contents -->

  <div class="panel-heading">  {{ post.name }} </div>
  <div class="panel-body">
    <p>{{ post.occupation }} 
<br/><br/><br/><br/><br/></p>
<p style="text-align:center"><small><a href="#">{{ post.contact }}</a></small></p>
  </div>
</div>
</div>
</div>
</div>
<!--results end-->
{% endblock %}