Code Monkey home page Code Monkey logo

wagtail-livepreview's Issues

Can't delete a page because of an IntegrityError

Can't delete a page that is referenced in the table livepreview_livepreviewrevision

django.db.utils.IntegrityError: update or delete on table "wagtailcore_page" violates foreign key constraint "livepreview_liveprev_page_id_a0bcd10f_fk_wagtailco" on table "livepreview_livepreviewrevision"

File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) 
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) 
File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "/usr/local/lib/python3.8/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) 
File "/usr/local/lib/python3.8/site-packages/wagtail/admin/urls/__init__.py", line 110, in wrapper return view_func(request, *args, **kwargs) 
File "/usr/local/lib/python3.8/site-packages/wagtail/admin/auth.py", line 188, in decorated_view return view_func(request, *args, **kwargs) 
File "/usr/local/lib/python3.8/site-packages/wagtail/admin/views/pages.py", line 792, in delete return redirect(next_url) 
File "/usr/local/lib/python3.8/site-packages/django/db/transaction.py", line 232, in __exit__ connection.commit() 
File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner return func(*args, **kwargs) 
File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 267, in commit self._commit()
File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 243, in _commit return self.connection.commit() 
File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value 
File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 243, in _commit return self.connection.commit() django.db.utils.IntegrityError: update or delete on table "wagtailcore_page" violates foreign key constraint "livepreview_liveprev_page_id_a0bcd10f_fk_wagtailco" on table "livepreview_livepreviewrevision"

Live preview is removing script tags

Livepreview is removing all the script tags in the generated HTML. (https://github.com/KalobTaulien/wagtail-livepreview/blob/master/livepreview/static/livepreview/js/livepreview_fe.js#L4)

Javascript could be used to position elements, to apply CSS styles, to add lazy loading, etc. Removing all the scripts from the page could greatly affect the view of the page (even for simple sites that don't use any JS framework).

It would be great to stop removing all the script tags in the HTML, as this can affect the preview of the pages.

Maybe the stripScripts function should only remove the scripts inside the div with the class js-livepreview-script?

2.10 migration

Wagtail 2.10 will have lots of template changes and might not be compatible with this package.

I'd LOVE if someone could test this out with 2.10 and report back (may need to work on #15 first).

Even when LIVEPREVIEW_USE_FILE_RENDERING is set to False - application tries to create a folder

Even when we set LIVEPREVIEW_USE_FILE_RENDERING=False application tries to make a folder to store rendered page. It could be easily fixed by changing this code

in views.py line 123

        file_name = self.get_live_preview_file_name(page_id, request.user.id)
        use_file_rendering = getattr(settings, "LIVEPREVIEW_USE_FILE_RENDERING", True)
        if use_file_rendering and os.path.isfile(file_name):
            with open(file_name, 'r') as file:
                page_content = file.read()
                return HttpResponse(page_content)

to

        use_file_rendering = getattr(settings, "LIVEPREVIEW_USE_FILE_RENDERING", True)
        if use_file_rendering:
            file_name = self.get_live_preview_file_name(page_id, request.user.id)
            if os.path.isfile(file_name):
                with open(file_name, 'r') as file:
                    page_content = file.read()
                    return HttpResponse(page_content)

request.site is None in live_preview

Hey.

This app is a nice idea and i'd like to use it in my project (and maybe contribute in a future with some improvements) but currently i have a problem with page in "live preview" mode.

The problem is than in template {{ request.site }} returns None when page is rendered by live_preview endpoint. I have no idea where to find a problem.

Wagtail's vanilla "preview" endpoint works well. Do you have any clues?

Add options to hide and disable livepreview window

There is a Toggle live preview button that shows and hides the livepreview window, but when you load a page it always shows the window by default. It would be great to have an option in settings HIDE_LIVEPREVIEW to hide the window by default when someone is editing a page.

Also, sometimes you want to show livepreview in some environments (Staging and Dev) and hide it in others (Production). It would be very useful to have another option in settings DISABLE_LIVEPREVIEW to disable livepreview globally.

Not compatible to Django 3

File "/Users/andy/projects/po-website/.venv/lib/python3.8/site-packages/livepreview/wagtail_hooks.py", line 9, in

from django.contrib.staticfiles.templatetags.staticfiles import static

ModuleNotFoundError: No module named 'django.contrib.staticfiles.templatetags'

Live preview in separate window does not work when iframe is closed

When i click "live preview" button it opens a new window with page preview. It refreshes in "real time" when i modify my page form so this works OK - but it stops working when i "hide" the iframe on right side of page form. If i show it again the separate full windows refreshes again.

// EDIT
OK i see that when i turn off iframe form does not make POST to live_preview thats why this separate full windows does not see changes when refreshes body.

Do you have any idea why it happens and how to fix it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.