Skip to main content

Django Swing Logo

Swing Hello

Django Swing Collection



Introduction

Swing Hello is a simple reusable Django application that provides basic views to demonstrate response handling and template rendering. It is designed to provide simple, yet effective functionality for greeting users through various forms and views. This package includes both function-based and class-based views for returning plain text and rendering templates with context. It showcases the best practices in Django app development, including internationalization, testing, and modular design.


Features

  • Function-based view returning a plain text "Hello!" response.
  • Class-based view returning a plain text "Hello!" response.
  • Function-based view rendering a template with a context.
  • Class-based view rendering a template with a context.

Installation

  1. Ensure you have Django installed. If not, you can install it using pip:

    pip install django
    
  2. Clone the repository or download the package and include it in your Django project.

Setup

  1. Add swing_hello to your Django project's INSTALLED_APPS in settings.py:

    INSTALLED_APPS = [
        ...
        'swing_hello',
    ]
    
  2. Include the swing_hello URLs in your project's urls.py:

    from django.urls import path, include
    
    urlpatterns = [
        ...
        path('hello/', include('swing_hello.urls')),
    ]
    

Usage

Function-Based Views

  • hello_response_view: Returns a plain text "Hello!" response.
  • hello_template_view: Renders a template with a context.

Class-Based Views

  • HelloResponseView: Returns a plain text "Hello!" response.
  • HelloTemplateView: Renders a template with a context.

URL Patterns

The package provides the following URL patterns:

  • /hello/ - Renders the template with context using HelloTemplateView.
  • /hello/response - Returns a plain text "Hello!" response using HelloResponseView.
  • /hello/template - Renders the template with context using HelloTemplateView.

Example Template

The package includes a simple HTML template hello.html:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ title }}</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            background-color: #f4f4f4;
        }
        .container {
            background: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            text-align: center;
        }
        h1 {
            margin-bottom: 20px;
            color: #333;
        }
        p {
            color: #666;
        }
    </style>
</head>

<body>
    <div class="container">
        <h1>{{ title }}</h1>
        <p>{{ content }}</p>
    </div>
</body>

</html>

Project Structure

swing_hello/
├── demo/                       # This directory contains a sample Django project for testing your reusable app (swing_hello).   ├── manage.py               # Entry point for managing the demo project.   ├── demo/
│      ├── __init__.py
│      ├── settings.py         # Configuration for the demo project.      ├── urls.py             # Main URL configuration for testing.      └── wsgi.py
│   └── db.sqlite3
├── src/
│   ├── swing_hello/            # Core directory of your reusable Django app.       ├── __init__.py         # Initializes the Python module.       ├── __main__.py
│       ├── apps.py             # Defines the app configuration for Django.       ├── urls.py             # URLs specific to this app.       ├── forms/              # Contains Django forms (e.g., form_hello.py).          ├── __init__.py
│          └── form_hello.py
│       ├── locale/             # Holds translation files for internationalization (e.g., en, nl).          ├── en/
│             └── ...
│          └── nl/
│              └── ...
│       ├── migrations/         # Contains migration scripts for the app.          ├── __init__.py
│          └── ...
│       ├── static/             # Stores app-specific static files (e.g., styles.css).          └── swing_hello/
│              └── styles.css
│       ├── templates/          # App-specific templates (e.g., hello_template.html).          └── swing_hello/
│              ├── hello_form.html
│              └── hello_template.html
│       ├── tests/              # Test cases for the app (e.g., test_hello_form.py).          ├── __init__.py
│          ├── test_hello_form.py
│          ├── test_hello_json.py
│          ├── test_hello_response.py
│          ├── test_hello_template.py
│          └── ...
│       └── views/              # App views organized by functionality (e.g., view_hello_form.py).           ├── __init__.py
│           ├── view_hello_form.py
│           ├── view_hello_json.py
│           ├── view_hello_response.py
│           ├── view_hello_template.py
│           └── ...
├── setup.py                    # Configuration for packaging and distributing the app.
├── README.md                   # Documentation for the repository.
└── LICENSE                     # Specifies the license for the project.

Colophon

Made with ❤️ by Scape Agency

Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the BSD-3-Clause license. See the LICENSE file for details.


Release files for swing-hello 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for swing-hello 0.2.2
File Size Uploaded
swing_hello-0.2.2.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for swing-hello 0.2.2
File Interpreter ABI Platform
swing_hello-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / swing_hello-0.2.2.tar.gz

Download URL swing_hello-0.2.2.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
a4210102894a2ae423b551fb2e5ca64718ace35676cf4ea2431b2c9560fcf5f1
BLAKE2b-256 checksum
How to use checksums
6d44ff79d2cb8528a41c9d767867fef8c0d2f1a8f285a68b643d2dc59ead09e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / swing_hello-0.2.2-py3-none-any.whl

Download URL swing_hello-0.2.2-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b4f27122f81ef94797adc119633e078b0d925366dee2fee96ddb4958f279a23d
BLAKE2b-256 checksum
How to use checksums
47ad7c988b3a96999d4dac1c30fe0f7809fccc78db84083e44def4c04cd4b7d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

1 release file

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page