http {
...
limit_req_zone $binary_remote_addr zone=reqlimit:10m rate=30r/s;
...
}
server {
...
location / {
...
limit_req zone=reqlimit burst=10 nodelay;
}
}
[Definition]
failregex = limiting requests, excess: .* by zone .*, client: <HOST>
ignoreregex =
[nginx-req-limit]
enabled = true
port = http,https
filter = nginx-req-limit
logpath = /var/www/*/*/logs/error.log # Здесь укажите свой путь к логам виртуального хоста
findtime = 600
maxretry = 10
bantime = 7200
<div class="download">
<form action="/Download/" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p}}
<div class="button_2">
<button type="submit">Добавить</button>
</div>
</form>
</div>
def d(request):
if request.method == 'POST':
form = DownloadForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return HttpResponseRedirect('/main/')
else:
return render(request, 'downloader.html', {'form': form})
else:
form = DownloadForm()
return render(request, 'downloader.html', {'form': form})
import sys
import time
from PyQt5 import QtCore, QtWidgets
class SlowTask(QtCore.QThread):
updated = QtCore.pyqtSignal(int)
running = False
def __init__(self, *args, **kwargs):
super(SlowTask, self).__init__(*args, **kwargs)
self.percent = 0
self.running = True
def run(self):
while self.running:
self.percent += 1
self.percent %= 100
self.updated.emit(int(self.percent))
time.sleep(0.1)
def stop(self):
self.running = False
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setupUi()
def setupUi(self):
self.setWindowTitle("Test")
self.resize(446, 207)
self.progressbar = QtWidgets.QProgressBar(self)
self.progressbar.setGeometry(QtCore.QRect(40, 70, 381, 23))
self.progressbar.setProperty("value", 0)
self.btn_start = QtWidgets.QPushButton("Start", self)
self.btn_start.setGeometry(QtCore.QRect(110, 110, 75, 23))
self.btn_start.setEnabled(True)
self.btn_start.clicked.connect(self.on_start)
self.btn_stop = QtWidgets.QPushButton("Stop", self)
self.btn_stop.setGeometry(QtCore.QRect(260, 110, 75, 23))
self.btn_stop.setEnabled(False)
self.btn_stop.clicked.connect(self.on_stop)
def toggle_buttons(self):
self.btn_start.setEnabled(not self.btn_start.isEnabled())
self.btn_stop.setEnabled(not self.btn_stop.isEnabled())
def on_update(self, data):
self.progressbar.setValue(data)
# if data == 99:
# self.on_stop()
def on_start(self):
self.toggle_buttons()
self.task = SlowTask(self)
self.task.updated.connect(self.on_update)
self.task.start()
def on_stop(self):
self.task.stop()
self.progressbar.setValue(0)
self.toggle_buttons()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
for (int i = 0; i < EncryptMass.index; i++) { ... }
i<index.EncryptMass
. def menu(request):
return {'menu': MenuItems.objects.all()}
TEMPLATES = [
{
...
'OPTIONS': {
'context_processors': [
...
'mysite.context_processors.menu',
],
...
}
}
]