updated support to django 2.0

update recaptcha to django-recaptcha2
This commit is contained in:
2018-04-06 14:52:57 +01:00
parent eeaf0d37a3
commit 341385dadb
7 changed files with 39 additions and 29 deletions

View File

@@ -38,22 +38,32 @@ INSTALLED_APPS = (
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'silk', 'silk',
'captcha', 'snowpenguin.django.recaptcha2',
'comic', 'comic',
'comic_auth', 'comic_auth',
) )
MIDDLEWARE_CLASSES = ( # MIDDLEWARE_CLASSES = (
# 'django.contrib.sessions.middleware.SessionMiddleware',
# 'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
# 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
# 'django.contrib.messages.middleware.MessageMiddleware',
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
# 'django.middleware.security.SecurityMiddleware',
# 'silk.middleware.SilkyMiddleware',
# )
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'silk.middleware.SilkyMiddleware', 'silk.middleware.SilkyMiddleware',
) ]
ROOT_URLCONF = 'cbreader.urls' ROOT_URLCONF = 'cbreader.urls'
@@ -111,3 +121,6 @@ LOGIN_REDIRECT_URL = '/comic/'
LOGIN_URL = '/login/' LOGIN_URL = '/login/'
UNRAR_TOOL = 'C:/Program Files/WinRAR/unrar' UNRAR_TOOL = 'C:/Program Files/WinRAR/unrar'
RECAPTCHA_PRIVATE_KEY = '6Ld50TUUAAAAAD6tQ4pR7HoBZ80EW_Mp2TyoS8Dz'
RECAPTCHA_PUBLIC_KEY = '6Ld50TUUAAAAANJmBFM0lUVqwuFyyCdoejfpdema'

View File

@@ -14,7 +14,6 @@ Including another URLconf
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
""" """
from django.conf.urls import include, url from django.conf.urls import include, url
from django.contrib import admin
import comic.views import comic.views
import comic_auth.views import comic_auth.views
@@ -25,6 +24,6 @@ urlpatterns = [
url(r'^logout/', comic_auth.views.comic_logout), url(r'^logout/', comic_auth.views.comic_logout),
url(r'^setup/', comic.views.initial_setup), url(r'^setup/', comic.views.initial_setup),
url(r'^comic/', include('comic.urls')), url(r'^comic/', include('comic.urls')),
url(r'^admin/', include(admin.site.urls)), # url(r'^admin/', include(admin.site.urls)),
url(r'^silk/', include('silk.urls', namespace='silk')) url(r'^silk/', include('silk.urls', namespace='silk'))
] ]

View File

@@ -26,7 +26,7 @@ class Migration(migrations.Migration):
('index', models.IntegerField()), ('index', models.IntegerField()),
('page_file_name', models.CharField(max_length=100)), ('page_file_name', models.CharField(max_length=100)),
('content_type', models.CharField(max_length=30)), ('content_type', models.CharField(max_length=30)),
('Comic', models.ForeignKey(to='comic.ComicBook')), ('Comic', models.ForeignKey(to='comic.ComicBook', on_delete=models.CASCADE)),
], ],
), ),
] ]

View File

@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings from django.conf import settings
from django.db import models, migrations
class Migration(migrations.Migration): class Migration(migrations.Migration):
@@ -32,11 +32,11 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='comicstatus', model_name='comicstatus',
name='comic', name='comic',
field=models.ForeignKey(to='comic.ComicBook'), field=models.ForeignKey(to='comic.ComicBook', on_delete=models.CASCADE),
), ),
migrations.AddField( migrations.AddField(
model_name='comicstatus', model_name='comicstatus',
name='user', name='user',
field=models.ForeignKey(to=settings.AUTH_USER_MODEL), field=models.ForeignKey(to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE),
), ),
] ]

View File

@@ -1,5 +1,6 @@
from captcha.fields import CaptchaField
from django import forms from django import forms
from snowpenguin.django.recaptcha2.fields import ReCaptchaField
from snowpenguin.django.recaptcha2.widgets import ReCaptchaWidget
from comic.models import Setting from comic.models import Setting
@@ -31,16 +32,11 @@ class LoginForm(forms.Form):
if created: if created:
setting.value = '0' setting.value = '0'
if setting.value == '1': if setting.value == '1':
public_key = Setting.objects.get(name='RECAPTCHA_PUBLIC_KEY').value # public_key = Setting.objects.get(name='RECAPTCHA_PUBLIC_KEY').value
private_key = Setting.objects.get(name='RECAPTCHA_PRIVATE_KEY').value # private_key = Setting.objects.get(name='RECAPTCHA_PRIVATE_KEY').value
#
captcha = CaptchaField( # captcha = ReCaptchaField(
label='', # public_key=public_key,
public_key=public_key, # private_key=private_key,
private_key=private_key, # )
attrs={ self.fields['captcha'] = ReCaptchaField(widget=ReCaptchaWidget())
'theme': 'white',
'class': 'form-control',
}
)
self.fields['captcha'] = captcha

View File

@@ -1,7 +1,8 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load recaptcha2 %}
{% block title %}CBWebReader - Login{% endblock %} {% block title %}CBWebReader - Login{% endblock %}
{% block content %} {% block content %}
{% recaptcha_init %}
<div class="col-md-4 col-md-offset-4"> <div class="col-md-4 col-md-offset-4">
{% if error %} {% if error %}
<div class="alert alert-danger" role="alert"><p>Your username and password didn't match. Please try again.</p></div> <div class="alert alert-danger" role="alert"><p>Your username and password didn't match. Please try again.</p></div>

View File

@@ -1,3 +1,4 @@
ujson ujson
django django
django-simple-captcha django-silk
django-recaptcha2