Customize captcha

This commit is contained in:
Andrey Golovizin 2020-02-16 14:57:48 +01:00
parent 719e99022a
commit 0929636f04
4 changed files with 497 additions and 5 deletions

View file

@ -13,7 +13,12 @@ setup(
platforms=["platform-independent"],
packages=find_packages("src"),
package_dir={"": "src"},
package_data={"": ["templates/*.html", "static/*.css"]},
package_data={"strojnadzor": [
"DejaVuSans.ttf",
"construction.txt",
"static/*.css",
"templates/*.html",
]},
# install_requires=install_requires,
# extras_require=extras_require,
include_package_data=True,

Binary file not shown.

View file

@ -0,0 +1,480 @@
автомагистраль
розетка
выключатель
автостоянка
отопление
автострада
адгезия
акведук
антресоль
арка
армирование
асимметрия
асфальт
атрибут
аэрация
аэровокзал
аэродром
аэропорт
балка
балкон
балюстрада
балясина
банкетка
бентонит
бетон
битум
блок стеновой
боковой откос
болт
брак
бревно
брусчатка
бунгало
бурт грунта
бухта
бык моста
веранда
вестибюль
ветровая связь
виадук
винт
внешний балкон
внешний двор
водонагреватель
водонепроницаемость
водопонижение
водопровод
водосброс
водослив
воды ливневые
воды сточные
воздействие
восстановление
выветренный
выветривание
выкружка
высота
высота видимая
выступ камина
выход
гавань
галерея
гвоздь
гель
геотекстиль
герметик
гибкая колонна
гипс
гипсокартон
главная балка
главный фасад
гладилка
глубина
глухарь
градиент
грохот
грохочение
грунт насыпной
грунтовка
дамба
дверь
дефект
дефлектор
деформация
диаграмма
диафрагма
длина
длина уклона
добавка
док
док сухой
долговечность
долготье
допуск
дорога
доступность
древесина
дренаж
дымоход
ендова
желоб
жилище
жилищный фонд
забор
завод
задвижка
заделка
зазор стыковой
заказчик
закругление
замок
занавеска
заполнение
заполнитель
затяжка
защита
защитный слой
здание
земля
зона рабочая
изделие
импост
инженер
инструмент
информация
информирование
ирригация
кабелепровод
кабина лифта
кавальер
калибр
камень
камень опорный
камин
канава
канал
канат
каркас здания
карниз
карьер
катализатор
качество
квартира
кессон
кирпич
кислотность
кладка
клапан
клапан шаровой
классификация
клей
ключ
когезия
козырек
колонна
комната
комплект
конек
консервация
консоль
конструкция
консультант
контрфорс
концентрация
кора
коридор
короб
косоур
косоур внешний
костыль
косяк
котлован
кран
краска
крепеж
крепь
кристаллизация
кровля
кружало
крыло
крыльцо
крыша
крыша плоская
крыша теплая
крышка доступа
крышка люка
лежень
лестница
лист
лифт
лифт грузовой
лифт служебный
лоток
люк
магазин
мансарда
мастерок
мастерская
материал
матирование
мауэрлат
мебель
мера
микротоннелирование
модернизация
модуль
монорельс
мост арочный
мост вантовый
мост косой
мост подвесной
мост подъемный
мост понтонный
мост разводной
мощность
муфта
нагрузка
надежность
наличник
наполнитель
напор
напряжение
насос
настил
насыпь
начало отсчета
нащельник
недостаток
неисправность
обваловка
обвязка нижняя
обдирка
обитаемость
облицовка
обочина
образец
обрешетина
обшивка
обшивка проема
объявление
ограда
ограждение
окно
окно слуховое
опалубка
осадка
осадок
освещенность
основа
основание пола
остаток
остекление
откалывание
откос
откос проема
отслаивание
отходы
отходы бытовые
отходы вредные
отходы твердые
пал
пандус
панель обшивки
парапет
партия
пассаж
перегородка
перемещение
перемычка
перепад
перила
пиломатериал
пилястра
пирс
пластина
пластичность
пласть
плинтус
плита
плита бетонная
плита плоская
плитка
плотность
погреб
подвал
подмости
подпорка
подрядчик
подставка
подступенок
покрытие
ползучесть
полоса
пористость
портал камина
поставщик
постель
поток световой
потолок
правильность
приспособление
приспособляемость
пристройка
причал
приямок
проверка
проезжая часть
проектировщик
проем
проем дверной
производитель
прокладка
прокладка труб
пролет
пролет в свету
промывка
проницаемость
прораб
просеивание
проступь
противоток
профиль
проход
пруток
путь рельсовый
пята арки
радиус инерции
размер
разметка
раковина
рама
рама оконная
рама плоская
распалубка
расслоение
растворитель
расход
расход пиковый
расшивка швов
ребро крыши
река
реконструкция
ремонтопригодность
реновация
реставрация
решетка
русло
сантехника
свая
свая буровая
свая висячая
свая забивная
свойство
связи ветровые
сдвиг
сетка защитная
сеть
сжатие
сила
сила света
силос
скважина
склад
скоба
слезник
слой связующий
смеситель
смесь бетонная
смета
соединение
сооружение
софит
сохранение
спецификатор
способность
срок службы
ставень
стальной шпунт
ствол шахтный
стекло
стена
стена в грунте
стержень
стоимость
стойка
стояк
строительство
стропило
структура
стык
сук
суспензия
сцепление
съезд
тамбур
текстура
текущий ремонт
терраса
толщина
тоннель
топливо
точность
траверса
трамвай
транспортер
траншея
трос
тротуар
труба
труба дымовая
трубопровод
туалет
тупик
тяга
уборная
углубление
уголок
узел
уклон
укрытие
умывальная
умывальник
уплотнитель
упругость
уровень
усадка
устой моста
фабрика
фальшпотолок
фанера
фартук
фасадная доска
фаска
ферма
фитинг
фитинг кафеля
фланец
фольга
фракция
фрамуга
фронтон
фундамент
характеристика
хлыст
холл
холодная крыша
целик грунта
цемент
цех столярный
цоколь
часть здания
часть рабочая
чердак
чертеж
шаблон
шахта
шахта лифта
шедовая крыша
шероховатость
ширина
ширма
шлюз
шпала
шпатлевка
шпунтовые сваи
штольня
щеколда
щелочность
экран
эксплуатация
электросвязь
элемент
энергия
эркер
эскалатор
эстакада
этаж
этаж второй
этаж третий
яркость

View file

@ -20,7 +20,7 @@ else:
DATA_DIR = os.getcwd()
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
# Quick-start development settings - unsuitable for production
@ -32,7 +32,7 @@ SECRET_KEY = "15-d*6bl(@+jfo92@=67vi1ohx%3e&^l98*bo*v$$+ms%!l(!!"
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['.golovizin.ru', '.xn--b1abndboscb.xn--p1ai']
ALLOWED_HOSTS = ['.golovizin.ru', '.xn--b1abndboscb.xn--p1ai', 'localhost']
# Application definition
@ -83,14 +83,14 @@ MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(DATA_DIR, "media")
STATIC_ROOT = os.path.join(DATA_DIR, "static")
STATICFILES_DIRS = (os.path.join(BASE_DIR, "strojnadzor", "static"),)
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
SITE_ID = 1
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [os.path.join(BASE_DIR, "strojnadzor", "templates"),],
"DIRS": [os.path.join(BASE_DIR, "templates"),],
"OPTIONS": {
"context_processors": [
"django.contrib.auth.context_processors.auth",
@ -219,3 +219,10 @@ DJANGOCMS_PICTURE_RESPONSIVE_IMAGES = True
DJANGOCMS_PICTURE_RESPONSIVE_IMAGES_VIEWPORT_BREAKPOINTS = [300, 400, 576, 768]
DEFAULT_FROM_EMAIL = "noreply@sologoc.com"
CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_arcs',)
CAPTCHA_FILTER_FUNCTIONS = ()
CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.word_challenge'
CAPTCHA_FONT_PATH = os.path.join(BASE_DIR, "DejaVuSans.ttf")
CAPTCHA_WORDS_DICTIONARY = os.path.join(BASE_DIR, "construction.txt")
CAPTCHA_LENGTH = 5