Skip to main content

A Python script to modify HTML files for Django templates

Project description

Description

Modifies the HTML content of a file to replace all tags' href attributes, all <script> tags' src attributes, and all src attributes by default, also provides support for custom modification of tags and attribute with Django template tags, and adds {% load static %} to the beginning of the file.

Installation

To use the function, simply install the package with pip, by default beautifulsoup4 library will be in install using the code below but incase there is any problem, you can install it via pip:

    pip install html2django

Usage

from djangohtml import djangoify

djangoify('index.html') 
# modify the index.html file in place

Example

Suppose you have an HTML file named index.html that looks like this:

<!DOCTYPE html>
<html>
<head>
    <title>My Website</title>
    <link rel="stylesheet" href="styles.css">
    <script src="script.js"></script>
</head>
<body>
    <h1>Hello, World!</h1>
    <img src="image.png">
</body>
</html>

Running the djangoify() function on this file:

    djangoify('index.html')

will modify the file to look like this:

    {% load static %}
    <!DOCTYPE html>
    <html>
    <head>
        <title>My Website</title>
        <link href="{% static 'styles.css' %}" rel="stylesheet">
        <script src="{% static 'script.js' %}"></script>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <img src="{% static 'image.png' %}">
    </body>
    </html>

Here, the , <script>, and tags' href and src attributes have been replaced with Django template tags, and {% load static %} has been added to the beginning of the file.

Parameters

- file (str): The path to the input HTML file.
- custom_tag (str): Custom html tag to modify. To be used with the custom_attr parameter.
- custom_attr (str): Custom html attribute of the custom_tag.
- custom_value (any): The value of the - custom attribute.

Returns

None: The function modifies the input file in place.

Raises

FileNotFoundError: If the input file cannot be found or accessed.

Authors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

html2django-1.0.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

html2django-1.0-py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page