From d90b4b8148f3653e67db4b3bb7c327db953e29e9 Mon Sep 17 00:00:00 2001 From: newpanjing Date: Mon, 9 Dec 2019 13:19:54 +0800 Subject: [PATCH] fix #193 #196 #189 --- simpleui/__init__.py | 5 ++++- simpleui/apps.py | 20 ++++++++++++++++++++ simpleui/middlewares.py | 14 ++++++++++++++ simpleui/templates/admin/change_form.html | 2 ++ simpleui/templates/admin/submit_line.html | 10 ++++++---- 5 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 simpleui/apps.py create mode 100644 simpleui/middlewares.py diff --git a/simpleui/__init__.py b/simpleui/__init__.py index dd019620..f049be97 100644 --- a/simpleui/__init__.py +++ b/simpleui/__init__.py @@ -1,2 +1,5 @@ +default_app_config = 'simpleui.apps.SimpleApp' + + def get_version(): - return '3.6' + return '3.7' diff --git a/simpleui/apps.py b/simpleui/apps.py new file mode 100644 index 00000000..27762168 --- /dev/null +++ b/simpleui/apps.py @@ -0,0 +1,20 @@ +from django.apps import AppConfig + + +class SimpleApp(AppConfig): + name = 'simpleui' + + def ready(self): + # 如果是django3+ 就使用中间件,删除header中的X-Frame-Options + + try: + import django + version = django.get_version() + if int(version.split('.')[0]) >= 3: + from django.conf import settings + mname = 'simpleui.middlewares.SimpleMiddleware' + if mname not in settings.MIDDLEWARE: + settings.MIDDLEWARE.append(mname) + except Exception as e: + pass + pass diff --git a/simpleui/middlewares.py b/simpleui/middlewares.py new file mode 100644 index 00000000..5998f2ed --- /dev/null +++ b/simpleui/middlewares.py @@ -0,0 +1,14 @@ +import os + +try: + + from django.utils.deprecation import MiddlewareMixin # Django 1.10.x +except ImportError: + MiddlewareMixin = object # Django 1.4.x - Django 1.9.x + + +class SimpleMiddleware(MiddlewareMixin): + + def process_response(self, request, response): + response['X-Frame-Options'] = 'ALLOW-FROM' + return response diff --git a/simpleui/templates/admin/change_form.html b/simpleui/templates/admin/change_form.html index d549429d..dd21a263 100644 --- a/simpleui/templates/admin/change_form.html +++ b/simpleui/templates/admin/change_form.html @@ -19,9 +19,11 @@
+ {% if '_popup' not in request.GET %} + {% endif %} {% block object-tools %} {% if change %}{% if not is_popup %}