Socket
Socket
Sign inDemoInstall

wagtail-cjk404

Package Overview
Dependencies
1
Maintainers
2
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wagtail-cjk404

A Wagtail app to automatically log and/or manually create of redirects for 404 pages from within Wagtail admin panel.


Maintainers
2

Readme

PyPI - Python Vesion GitHub license GitHub issues

Managed 404 Pages with Redirects

Description

A Wagtail package which will give you ability to automatically log and create of redirects from within Wagtail admin panel.

Features

  • Automatic "404 Not Found" HTTP Error Detection Following the Non-Existent Page Opening
  • Support for Redirects to Wagtail Pages

How It Works

  • Regular Expression → Regular Expression [currently in development]
  • Regular Expression → URL
  • Regular Expression → Wagtail Page
  • URL → URL
  • URL → Wagtail Page

Repository inspired by / based on a fork of:

Both projects were similar (one Model class and fairly uncomplicated Middleware), so the easiest thing was simply to combine them, and work onwards from this base. Below, you can see the classes comparison of those two.

Django Regex RedirectsWagtail Managed 404 (Cjk404)
class Redirect(models.Model)class PageNotFoundEntry(models.Model)
old_pathurl
new_pathredirect_to_url or redirect_to_page
regular_expression-
fallback_redirect-
nr_times_visitedhits

Testing

Use either Django test runner (python manage.py test cjk404) or pytest.

Dependencies

This package is used for the admin panel itself.

Screenshots

"All Redirects" in the Backend

"All Redirects" in the Backend"

"Edit Redirect" in the Backend

"Edit Redirect" in the Backend"

Usage

Fresh install
  1. Get the app from PyPI: pip install wagtail-cjk404

  2. Add 'cjk404' to the INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'wagtail.contrib.modeladmin', # required dependency
    'cjk404'
    ...
]
  1. Add the supplied middleware. You may also want to disable Wagtail's default RedirectMiddleware:
MIDDLEWARE = [
    'cjk404.middleware.PageNotFoundRedirectMiddleware',
    # "wagtail.contrib.redirects.middleware.RedirectMiddleware",
]
  1. Run the migrations:
python manage.py migrate
  1. Visit the Wagtail admin area. You should see any 404s recorded in the application, and you can add redirects to them. You can also add your own redirects, e.g. based on regexp.
Upgrade from the old (dj-apps-cjk404) version
  1. Remove folder apps/cjk404 with all contents
  2. Change 'apps.cjk404' to 'cjk404' in INSTALLED_APPS.
  3. Get the app from PyPI: ```pip install wagtail-cjk404``
  4. You're done!

Development

Utility scripts - testing

Assuming you have Django>=4.0 and Wagtail>=3.0 pip-installed in your virtual environment, you do not need to set up a new Django/Wagtail project to develop/test the app.

After you git clone the repository, use load_tests.py to call boot_django and then to execute the unit tests.

Authors

Github URL

Old URL:

https://github.com/cjkpl/dj-apps-cjk404

New URL:

https://github.com/cjkpl/wagtail-cjk404

Please migrate your local repositories to the new URL by executing:

$ git remote set-url origin https://github.com/cjkpl/wagtail-cjk404

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc