两个问题 - 对于那些建议,我会非常高兴。不要指望复制的确切代码 - 粘贴,但是如果有人能指出我在无限网络上某个地方的好文章/课程部分那将是完美的(如果你不学习那么复制粘贴是什么意思?)
1)我记得在我的Uni时代(需要在ASP.NET MVC中提交一些项目)有一些像部分视图......它们对于生成界面等很有用。
目前我的视图有2个部分(导航栏和主视图)。我的每一个观点都以此为例:
template = loader.get_template('resultsetlist.html')
context = RequestContext(request, {
'resultsets' : resultsets,
'instance_list': instance_list,
'latest_resultset': latest_resultset
})
return HttpResponse(template.render(context))
在此示例中,我的当前视图只需要resultsets对象... latest_resultset和instance_list对象需要生成导航栏。
模板的工作原理如下:
<div class="row">
<div class="col-md-11">
{% include 'navbar.html' %}
</div>
</div>
<div class="row">
<div class="col-md-11">
{% block content %}
{% endblock %}
</div>
</div>
我可以在其他视图中生成导航栏(将其命名为master)并为任何其他操作(将扩展master的部分操作)创建小视图吗?而不是在我的每个视图中复制相同的代码行只是为了生成此导航栏...
2)我m not hidding as I may have idea about first questions ... I
在第二个中完成绿色(没有web开发者体验ajax,js等)。
我的一个观点使用for循环来查看结果列表。让我们说我的每个结果都有3个属性: - 名称 - 姓 - 说明
我正在生成包含结果的表格:
{% for resultset in resultsets %}
<td>{{ resultset.Name }}</td>
<td>{{ resultset.Instance.Surname }}</td>
正如你所看到我只使用了2个字段并且想要一个按钮向我显示弹出窗口中的最后一个字段?这是我目前的尝试:
<td>{% if resultset.Description %}
<button type="button" class="btn btn-primary btn-xs" data-toggle="modal" data-target="#descriptionmodal">
View SQL
</button>
模态:
<div class="modal fade" id="descriptionmodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-id="{{ resultset.Description }}">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
{{ resultset.Description }}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
我知道这没有机会工作。有人可以帮我展示如何将有关此记录的数据(所有这些都在for循环中,然后在表格中)传递给动态ajax弹出窗口,它将在单击按钮后打开吗?我在我的项目中使用Twitter Bootstrap
非常感谢
答案 0 :(得分:0)
所以,既然你的问题有两个不相关的问题,我只关注第一个问题。在将来,最好将它们分成两个问题并单独询问(这将使其他用户更容易对您的信息进行分类)。
当我创建需要查询的动态菜单时,我通常会创建一个自定义模板标记。包含标记将允许您添加带有额外上下文的html片段,如下所示:
from django import template
register = template.Library()
from myApp import myModel
@register.inclusion_tag('myMenu.html')
def my_dynamic_menu(context):
model_list = myModel.objects.all()
return {
'model_list' : model_list,
}
现在您的model_list
可用于您的菜单,而无需将其添加到每个视图中。您可能希望确保将其放在templatetags
文件夹中。如果您将其保存在名为“menuLoader.py”的“templatetags”文件夹中的文件中,那么您可以在任何模板中访问它,如下所示:
{% load menuLoader %}
{% my_dynamic_menu %}
我建议您在Custon Template Tags上阅读Django的文档以获取更多信息。