连接到模型和 url 的 django 视图

django views connecting to model and urls

我正在用 Django 编写我的第一个视图。我花了无数个小时试图弄清楚这一点。我的一个视图出现在网页中,但另一个我试图从数据库中检索数据的视图却没有。我已经使用 python shell 来查看代码是否有效。以下是我的模型、视图、我的网址和模板。此外,任何文档网站也都很棒 - 或书籍。谢谢大家。

models.py

from django.db import models

class Bee_hive(models.Model):
    gid = models.IntegerField(primary_key=True)
    hive_title = models.CharField(max_length=50)
    date_hive_death = models.DateField()
    date_hive_created = models.DateField()
    description = models.TextField()

    def __str__(self):
        return self.hive_title

views.py

from django.shortcuts import render
import datetime

from inventory.models import Bee_hive

def index(request):
    now = datetime.datetime.now()
    context = {'current_date': now}
    return render(request, 'inventory/index.html', context)

def hive_names(request):
    titles = Bee_hive.objects.all()
    context = {'titles': titles}
    return render(request, 'inventory/index.html', context)

我的模板包含以下内容:

<html>
    <body>
        <p>Hello, David!</p>
        It is now {{ current_date }}.
        <p>The hive name is: {{ titles }} </p>
    </body>
</html>

urls.py

from django.conf.urls import patterns, url

from inventory import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^$', views.hive_names, name='hive_names'),

)

这是我的结果:

Hello, David!

It is now Jan. 18, 2015, 7:08 a.m..
The hive name is:

您应该为不同的视图设置不同的网址:

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^hive-names/$', views.hive_names, name='hive_names'),
)