Add hcaptcha support and .env file
hcaptcha can be turned on in settings.py with parameters in the .env file Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2
Pipfile
2
Pipfile
@@ -6,6 +6,8 @@ name = "pypi"
|
|||||||
[packages]
|
[packages]
|
||||||
django = "*"
|
django = "*"
|
||||||
pillow = "*"
|
pillow = "*"
|
||||||
|
django-hcaptcha = "*"
|
||||||
|
django-environ = "*"
|
||||||
|
|
||||||
[dev-packages]
|
[dev-packages]
|
||||||
mypy = "*"
|
mypy = "*"
|
||||||
|
|||||||
18
Pipfile.lock
generated
18
Pipfile.lock
generated
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_meta": {
|
"_meta": {
|
||||||
"hash": {
|
"hash": {
|
||||||
"sha256": "720e8538e0b5a6418b2f8e2973ef59da19390569ba586790a194f490bdabd90b"
|
"sha256": "a456453ef1b5e85ccb7ba32477a0eb8cbba7d015376c3133b2576e03259d862c"
|
||||||
},
|
},
|
||||||
"pipfile-spec": 6,
|
"pipfile-spec": 6,
|
||||||
"requires": {
|
"requires": {
|
||||||
@@ -32,6 +32,22 @@
|
|||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==4.0.4"
|
"version": "==4.0.4"
|
||||||
},
|
},
|
||||||
|
"django-environ": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:42593bee519a527602a467c7b682aee1a051c2597f98c45f4f4f44169ecdb6e5",
|
||||||
|
"sha256:6f0bc902b43891656b20486938cba0861dc62892784a44919170719572a534cb"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==0.8.1"
|
||||||
|
},
|
||||||
|
"django-hcaptcha": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:18804fb38a01827b6c65d111bac31265c1b96fcf52d7a54c3e2d2cb1c62ddcde",
|
||||||
|
"sha256:b2519eaf0cc97865ac72f825301122c5cf61e1e4852d6895994160222acb6c1a"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==0.2.0"
|
||||||
|
},
|
||||||
"pillow": {
|
"pillow": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:01ce45deec9df310cbbee11104bae1a2a43308dd9c317f99235b6d3080ddd66e",
|
"sha256:01ce45deec9df310cbbee11104bae1a2a43308dd9c317f99235b6d3080ddd66e",
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
from django.conf import settings
|
||||||
from django.forms import ModelForm
|
from django.forms import ModelForm
|
||||||
from board.models import Post
|
from board.models import Post
|
||||||
|
from hcaptcha.fields import hCaptchaField
|
||||||
|
|
||||||
|
|
||||||
class PostForm(ModelForm):
|
class PostForm(ModelForm):
|
||||||
@@ -9,6 +11,8 @@ class PostForm(ModelForm):
|
|||||||
This requires the board and the IP address to be specified.
|
This requires the board and the IP address to be specified.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
hcaptcha = hCaptchaField() if settings.USE_HCAPTCHA else None
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Post
|
model = Post
|
||||||
fields = ["subject", "name", "text", "image"]
|
fields = ["subject", "name", "text", "image"]
|
||||||
@@ -27,6 +31,8 @@ class ReplyForm(PostForm):
|
|||||||
specified.
|
specified.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
hcaptcha = hCaptchaField() if settings.USE_HCAPTCHA else None
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Post
|
model = Post
|
||||||
fields = ["name", "text", "bump", "image"]
|
fields = ["name", "text", "bump", "image"]
|
||||||
|
|||||||
@@ -12,16 +12,19 @@ https://docs.djangoproject.com/en/4.0/ref/settings/
|
|||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Sequence
|
from typing import Sequence
|
||||||
|
import environ
|
||||||
|
|
||||||
|
env = environ.Env()
|
||||||
|
environ.Env.read_env()
|
||||||
|
|
||||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
|
||||||
|
|
||||||
# SECURITY WARNING: keep the secret key used in production secret!
|
# SECURITY WARNING: keep the secret key used in production secret!
|
||||||
SECRET_KEY = "django-insecure-kxgmmxo@b=75fh!pvsq$w!ure!!*i)2sdr-5^l1o4q^)j)$a=9"
|
SECRET_KEY = env("SECRET_KEY")
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
@@ -134,3 +137,10 @@ MEDIA_URL = "media/"
|
|||||||
THUMB_SIZE = (200, 200)
|
THUMB_SIZE = (200, 200)
|
||||||
|
|
||||||
MAX_UPLOAD_SIZE = 25 * 1024**2
|
MAX_UPLOAD_SIZE = 25 * 1024**2
|
||||||
|
|
||||||
|
USE_HCAPTCHA = False
|
||||||
|
|
||||||
|
if USE_HCAPTCHA:
|
||||||
|
INSTALLED_APPS += ["hcaptcha"]
|
||||||
|
HCAPTCHA_SITEKEY = env("HCAPTCHA_SITEKEY")
|
||||||
|
HCAPTCHA_SECRET = env("HCAPTCHA_SECRET")
|
||||||
|
|||||||
Reference in New Issue
Block a user