Djangogirls screenshot

Djangogirls

Author Avatar Theme by Djangogirls
Updated: 10 May 2025
471 Stars

Website for DjangoGirls.org

Overview:

The Django Girls website repository contains a Django application for managing events and website content for DjangoGirls.org. It includes models for events, event page content, and event page menu. Users can create new events, manage website settings, customize content blocks, and handle menu items through the CMS.

Features:

  • Event Model: Create and manage events with website configuration.
  • Event Page Content: Customize content blocks visible on the website.
  • Event Page Menu: Manage menu items for every website.
  • Customization: Set meta tags, main color, custom CSS, URL, and visibility for events and content blocks.
  • Development Environment Setup: Guide for Docker and non-Docker environments setup.
  • Dependency Management: Install required dependencies using pip-tools for compatibility.
  • Pre-commit Hook: Auto-format and lint code before committing changes.
  • Database Setup: Instructions for setting up PostgreSQL database and loading sample data.

Installation:

  • Fork and clone the repository:
    git clone <repository_url>
    
  • Navigate to the project directory:
    cd djangogirls
    

Docker:

  • Run with Docker and Docker compose:
    docker-compose up
    

Non Docker:

  • Create a virtual environment and install dependencies:
    python3.10 -m venv env
    source env/bin/activate
    pip install -r requirements.txt
    
  • Set up PostgreSQL database, migrate schema, load data, and create a user:
    psql
    CREATE DATABASE djangogirls;
    CREATE USER user WITH PASSWORD 'password';
    GRANT ALL PRIVILEGES ON DATABASE djangogirls TO user;
    \q
    python manage.py migrate
    python manage.py loaddata sample_data.json
    python manage.py createsuperuser
    
  • Install static file dependencies, compile CSS and JS files, and start the local server:
    npm install
    npm run build
    python manage.py runserver
    

Summary:

The Django Girls website repository offers a Django application for managing events and website content. With features like event and content customization, menu management, and detailed installation instructions for Docker and non-Docker environments, users can efficiently set up and manage their websites. The repository provides a comprehensive guide for developers to contribute to and work with the Django Girls website efficiently.