Ich habe 2 Listen:erstellen Wörterbuch von 2 Listen, verwenden Sie in django Vorlage
year_month_day_list = ['2017-02-12', '2017-02-11', '2017-02-10', '2017-02-09']
filename_prefix_list = ['2017-02-12_11-45-59', '2017-02-12_11-35-05', '2017-02-10_11-00-52', '2017-02-11_10-59-23', '2017-02-09_09-12-09']
Wenn ich alle Dateinamen greifen, die ihre zugehörigen ymd entsprechen:
def filter_files(file_list, filter_param):
return [f for f in file_list
if f.startswith(filter_param)]
for unique_day in year_month_day_list:
files_for_day = sorted(filter_files(
filename_prefix_list, unique_day), reverse=True)
Wie kann ich ein Wörterbuch, das den Schlüssel unique_day und die zugehörigen Dateinamen für diesen Tag als Werte verwendet?
Ausgabe sollte so etwas wie:
dict = {'2017-02-12': ['2017-02-12_11-45-59', '2017-02-12_11-35-05'], '2017-02-10': ['2017-02-10_11-00-52']}
Dann, wie kann ich die in meiner Vorlage verwenden? Etwas wie:
<div class="thumbnail-row" id="thumbnail_row">
<div class="row-date">
<span>{{ unique_day }}</span>
</div>
<div class="">
<form action="{{ filename_prefix }}/video/" method="post">
{% csrf_token %}
<input type="image" name="filename_prefix" value="{{ filename_prefix }}" src="{{ MEDIA_URL}}thumbnails/2017/02/{{ filename_prefix }}.jpg">
</form>
</div>
</div>
Es sieht so aus, als ob das gut funktioniert. Ich möchte jedoch, dass die Ergebnisse in absteigender Reihenfolge für den Schlüssel und die Werteliste zurückgegeben werden. Grundsätzlich möchte ich den letzten Tag, dann seine Dateien mit der neuesten Datei zuerst. Können Sie mir vorschlagen, wie ich das erreichen kann? Sort() auf dct entfernt die Werte. – brewcrazy
Übergeben Sie 'reverse = True' an' sorted' und speichern Sie das Ergebnis in 'collections.OrderedDict' –
Welches Ergebnis speichere ich in' collections.OrderedDict'? Das habe ich jetzt: 'dct = {k: list (g) für k, g in groupby ( sortiert (sortierte_Dateiname_liste, rückwärts = Wahr), Lambda x: x [: 10])}' – brewcrazy