我是Django的新手,我想构建一个Web应用程序,向您显示事件列表。您可以有几个不同的列表(例如体育赛事,生日...)。我制作了两个模型-日历(事件列表)和事件。
在我的页面上,我有导航菜单,您可以在其中看到“日历”列表。当您单击一个日历时,您可以看到该日历的事件列表,但我也想在侧栏中保留一个日历列表。
据我了解,Django我需要两个视图-ListView(用于边栏日历)和DetailView(用于每个日历中的事件)。
这是我的看法:
class DetailView(generic.DetailView):
model = Calendar
template_name = 'koledarji/detail.html'
class CalendarsView(generic.ListView):
template_name = 'koledarji/calendars.html'
context_object_name = 'calendars_list'
def get_queryset(self):
return Calendar.objects.all()
Run Code Online (Sandbox Code Playgroud)
通过这种方法,我可以在每个特定的日历上使用详细信息,但是我在侧边栏导航菜单上丢失了日历列表。
我的特定日历网址:
url(r'^(?P<pk>[0-9]+)$', views.DetailView.as_view(), name='detail'),
Run Code Online (Sandbox Code Playgroud)
和我的模板的一部分:
{% extends 'prijavljen/calendar.html' %}
{% block cal_name %}
{% for calendar in calendars_list %}
{% if request.path == '/prijavljen/'|add:calendar.id %}
{{calendar.name }}
{% endif %}
{% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
在该代码之后,我想列出一个事件列表,但是例如,即使日历名称也足以解决。
我试图通过将request.path与我想要的路径od日历进行比较来解决此问题,但也无法正常工作。
任何帮助,将不胜感激。
我正在用 MVVM 风格的 WPF 构建一个应用程序。DataGrid当我选中或取消选中多个用于过滤的复选框时,我试图对我的过滤器进行过滤。
我已经找到了解决方案Interaction.Triggers,但在这种情况下它对我不起作用。
这是我的代码:
<ListBox
ItemsSource="{Binding PortsFilterSource}"
Background="LightGray"
BorderThickness="0"
Grid.Column="1">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox
Content="{Binding Name}"
IsChecked="{Binding IsChecked}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Unchecked">
<i:InvokeCommandAction Command="{Binding FilterCommand}"/>
</i:EventTrigger>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding FilterCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了FilterCommand。我的 C# 代码中有这样的内容:
public DelegateCommand<object> FilterCommand { get; set; }
...
FilterCommand = new DelegateCommand<object>(Filter);
Run Code Online (Sandbox Code Playgroud)
Filter(object obj)是一个函数,但当我选中或取消选中任何复选框时,不会输入它。
任何帮助将不胜感激。