2017-01-31 1 views
0

Ich bitte an einen Kunden, uns eine Liste von Dokumenten zur Verfügung zu stellen, z. B. ['doc1', 'doc2', 'doc3', 'doc4', 'doc5']. Von dieser Zeit alle 24 Stunden für 5 Tage, wir eine E-Mail an den Kunden zu informieren ihn von fehlenden Unterlagen senden:Die gleiche Vorlage für einen ähnlichen Job wiederverwenden

Hello 'Mr or Ms', 

We inform you that the following documents are missing to complete the request: 

'list of missing documents' 

Ich hatte gedacht, dass ich einen Filter auf dieser Liste verwenden könnte und einen cron-Job gelte Wenden Sie diesen Filter alle 5 Tage erneut an. Der Filter würde nur die bereitgestellten Dokumente und die restlichen vom Client zur Verfügung gestellten Dokumente sortieren.

Wenn der Kunde beispielsweise alle Dokumente vom ersten Tag an bereitgestellt hat, senden wir ihm eine Nachricht, dass alle Dokumente erfolgreich zugestellt wurden und er mit dem nächsten Schritt fortfahren kann.

Wie ich seit einigen Tagen programmiere, brauche ich Ihre Hilfe, um mein Problem zu lösen. Ich denke, dass es nicht die bessere Lösung ist. Am Anfang dachte ich, fünf verschiedene Vorlagen mit Nacktschnecken zu erstellen send-remaining-documents-day-one, send-remaining-documents-day-two, ..., aber klar, es ist nicht vorgeschlagen, denke ich.

Kann jemand eine bessere Lösung vorschlagen?

Antwort

0

Sie konnten nur zwei Vorlagen (nicht sicher, ob Sie HTML benötigen führen, dass Sie grundlegende txt senden können) erstellen wie: some_docs_missing.txt und all_docs_found.txt und ein Python-Skript schreiben, die prüft, welche Unterlagen Sie haben und was Sie brauchen, dann nehmen Sie die Unterschied und sehen, welche Vorlage Sie verwenden. Hier

ist ein Ausschnitt:

from django.template.loader import render_to_string 

# Let's say you have the 2 list of documents called: needed_docs and found_docs 
missing_docs = list(set(needed_docs) - set(found_docs)) 
if missing_docs == []: # All good 
    message = render_to_string('all_docs_found.txt') 
else: 
    message = render_to_string('some_docs_missing.txt', 
           context={'missing_docs': missing_docs}) 

# Here send the message 
+0

Möchten Sie einen cron-Job, um den Prozess zu automatisieren? –

+0

Ich habe nicht den ganzen Prozess, aber ein Cronjob scheint gute Wahl, vergessen Sie nicht, es am fünften Tag zu deaktivieren. – Saksow

Verwandte Themen