Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django模板中显示过滤后的对象?_Django_Django Forms_Django Templates_Django Views - Fatal编程技术网

如何在Django模板中显示过滤后的对象?

如何在Django模板中显示过滤后的对象?,django,django-forms,django-templates,django-views,Django,Django Forms,Django Templates,Django Views,假设我有一个模型,显示如下 class Opt(models.Model): optID = models.CharField() availabiltities = models.ManyToManyField(Available) lastdatemodified = models.DateTimeField() .... .... 此外,opt_ID不是主键 我希望能够在html模板中显示与该opt_id相关的所有字段。我有一个页面,显示该模型的所

假设我有一个模型,显示如下

class Opt(models.Model):
    optID = models.CharField()
    availabiltities = models.ManyToManyField(Available)
    lastdatemodified = models.DateTimeField()
    ....
    ....
此外,opt_ID不是主键

我希望能够在html模板中显示与该opt_id相关的所有字段。我有一个页面,显示该模型的所有Opt_id。每个Opt_ID都是一个链接,应该显示我前面提到的所有字段

在views.py中,我正在编写

def Optschedule(request, opt_id = 1):
   return render_to_response('show.html', {'OptSchedule', Opt.objects.filter(optID=Opt_id)})
在show.html中

{% for entries in OptSchedule %}
    {{entries.lastdatemodified}}
    {{entries.availabilities}}
{% endfor %}
我想,我不明白如何将参数传递给view函数,以便它在视图中使用这些参数作为queryset


谢谢。

我理解你的问题,但你遗漏了Django的一些基本知识

您可以在请求中将参数传递给视图,并正确配置urlconf

但首先,让我们使用小写作为函数名,正如Python PEP8预先设定的那样:

函数名应该是小写的,并根据需要用下划线分隔单词,以提高可读性

您正在向视图传递opt_id,并且该opt_id来自您的urlconf,假设:

(r'^show/(\d+)/$', opt_schedule),
这个urlconf表示除了请求对象之外,您正在为视图opt_计划传递一个十进制整数。当您调用www.example.com/show/1/时,将调用视图opt_计划并接收请求对象和小数点1。在视图函数中,查询id(或pk)=1的Opt对象,并将其传递给名为“OptSchedule”的上下文

现在,您可以访问模板中的对象属性,如:

{{ OptSchedule.lastdatemodified }}

嗯,我以前试过这个,但是它给了我一个错误,说Opt需要2个参数,而你只提供了一个..我可以解决这个问题。现在,当我使用get(id=opt_id)时,它会告诉我:“以10为基数的int()的文本无效:”。我认为这是因为Opt_id不是整数,而是Varchar。因此,它不获取任何内容,也无法将其转换为int。
{{ OptSchedule.lastdatemodified }}