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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file html2django-1.0.tar.gz.

File metadata

  • Download URL: html2django-1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for html2django-1.0.tar.gz
Algorithm Hash digest
SHA256 450a966b83ec13d4f53d60168997b561a6a55b3268774d54428fd04f53367421
MD5 67b4c29b2231ad358bb4c9c522134fd0
BLAKE2b-256 6664023b0b39b668dea0f937168762a392d0be30090eb1e747c2acc1b381517c

See more details on using hashes here.

File details

Details for the file html2django-1.0-py3-none-any.whl.

File metadata

  • Download URL: html2django-1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for html2django-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7485f04ea31a2d36046cae43bfdfeafbfc1e52ff79bb13fa1dcd379f21013933
MD5 7cd9c7376bc038a97e7e1f210788ee76
BLAKE2b-256 f4dd83dad510f2b446f91fc5183079f62435173781d27c1a5fab7ff75ff8d498

See more details on using hashes here.

Supported by

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