Ваша проблема в том, что ваша переменная не передается от одного запроса к следующему. Лучший способ сделать это - использовать request.session = ...
для установки переменной, а затем проверить ее позже и выполнить действия. Вот пример, который вы можете расширить, чтобы сделать его по своему вкусу:
import random
from django.shortcuts import redirect
class TestView(View):
def get(self, request, *args, **kwargs):
gallery = request.session.get('gallery', None)
if (type(gallery) is list) and (len(gallery) == 0): # When list is empty, clear session & then redirect
del request.session['gallery']
request.session.modified = True
return redirect('<your_redirect_url>')
if gallery is None: # If first visit to page, create gallery list
gallery = list(models.Photos.objects.all().values_list("partof__category", flat=True))
# select random photo from list
last = len(gallery) -1
randomInt = random.randint(0, last)
randomPic = gallery[randomInt]
gallery.remove(randomPic)
request.session['gallery'] = gallery
return render(request, 'test.html', {})
Windows?Нет проблем. Выезд ClamWin. Это основано на ClamAV.
Принятие Вас хочет интегрироваться с любым антивирусом, уже присутствует в системе вместо того, чтобы связать Ваше собственное, необходимо проверить путь Firefox 3, делает это.
Ошибки 103487 и 408153 - Сообщают антивирусному программному обеспечению, когда Firefox загружает исполняемый файл (использование Windows "IOfficeAntiVirus" и API "IAttachmentExecute").
(конечно, если Вы хотите связать свое собственное, проверить ClamAV/ClamWin, но затем необходимо иметь дело с обновлениями, и т.д., и необходимо, вероятно, сначала проверить, что нет полностью обновленного решения в целевой системе для вежливости),
Платформа?
Большая часть антивируса Windows обеспечивает интеграцию оболочки (щелчок правой кнопкой по файлу в проводнике для сканирования того файла), который будет или означать выполнять исполняемый файл, DDE или COM. Все из которых предоставляют точку входа другой программе для вызова того же механизма.
Выезд ClamAV.
Моллюск AntiVirus является открытым исходным кодом (GPL) инструментарий антивируса для UNIX, разработанного специально для почтового сканирования на почтовых шлюзах.
Возможно, Вы могли использовать этот веб-сервис, предполагая, что файл составляет меньше чем 1 МБ:
http://www.kaspersky.com/scanforvirus
Если Вы обнаруживаете подозрительный файл на своей машине или подозреваете, что программа, которую Вы загрузили с Интернета, могла бы быть вредоносной, можно проверить файлы здесь.
Укажите на файл, который будет проверен; это будет автоматически загружено от Вашего компьютера до выделенного сервера, где это будет просканировано с помощью Kaspersky Anti-Virus. Несколько независимых тестов и публикаций подтверждают решение иметь исключительные проценты раскрытых преступлений. Обновления каждые три часа гарантируют, что даже очень новейшие вирусы могут быть обнаружены.
Только один файл до 1 МБ может быть проверен в любой момент. Если файл будет слишком большим, то окно с сообщением об ошибке будет отображено. Введите имя файла в окне наверху этой страницы или найдите файл с помощью 'Обзора'. Затем нажмите на 'Submit'.
Это действительно зависит, на которой программе AV Вы собираетесь использовать. Прочитайте документацию для любого решения, которое Вы выбираете, и Вы, вероятно, найдете интерфейс командной строки или некоторый другой API, который можно назвать. Нет никакого "универсального" способа сделать это (через AVS).