this repo has no description

Improve form

Hilke Ros cf69335a e9b68aa4

Changed files
+44 -16
members
+22 -15
members/forms.py
··· 1 1 from django import forms 2 + from django.utils.safestring import mark_safe 2 3 3 4 from .models import Member 4 5 ··· 11 12 "name": forms.TextInput( 12 13 attrs={"class": "w-full p-2 my-4 border rounded-md"} 13 14 ), 14 - "website": forms.URLInput(attrs={"class": "w-full p-2 border rounded-md"}), 15 + "website": forms.URLInput( 16 + attrs={"class": "w-full p-2 my-4 border rounded-md"} 17 + ), 15 18 "mastodon": forms.TextInput( 16 19 attrs={"class": "w-full p-2 my-4 border rounded-md"} 17 20 ), 18 - "bluesky": forms.TextInput(attrs={"class": "w-full p-2 border rounded-md"}), 21 + "bluesky": forms.TextInput( 22 + attrs={"class": "w-full p-2 my-4 border rounded-md"} 23 + ), 19 24 "instagram": forms.TextInput( 20 25 attrs={"class": "w-full p-2 my-4 border rounded-md"} 21 26 ), 22 27 } 23 28 help_texts = { 24 - "name": "Your artist or organisation name", 25 - "website": "Your website URL (optional)", 26 - "mastodon": "Your Mastodon handle (optional), e.g. mastodon.social/@username", 27 - "bluesky": "Your Bluesky handle (optional), e.g. @username.bsky.social", 28 - "instagram": "Your Instagram handle (optional), e.g. @username", 29 + "name": mark_safe( 30 + '<span class="text-sm text-gray-500 pb-4 block">Your artist or organisation name</span>' 31 + ), 32 + "website": mark_safe( 33 + '<span class="text-sm text-gray-500 pb-4 block">Your website URL starting with https (optional)</span>' 34 + ), 35 + "mastodon": mark_safe( 36 + '<span class="text-sm text-gray-500 pb-4 block">Your Mastodon handle (optional), e.g. mastodon.social/@username</span>' 37 + ), 38 + "bluesky": mark_safe( 39 + '<span class="text-sm text-gray-500 pb-4 block">Your Bluesky handle (optional), e.g. @username.bsky.social</span>' 40 + ), 41 + "instagram": mark_safe( 42 + '<span class="text-sm text-gray-500 pb-4 block">Your Instagram handle (optional), e.g. @username</span>' 43 + ), 29 44 } 30 - 31 - 32 - def __init__(self, *args, **kwargs): 33 - super().__init__(*args, **kwargs) 34 - for field in self.fields.values(): 35 - field.help_text = ( 36 - f'<span class="text-sm text-gray-500 pb-4 block">{field.help_text}</span>' 37 - )
+10 -1
members/templates/base.html
··· 3 3 <head> 4 4 <meta charset="UTF-8"> 5 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 - <title>{% block title %}Your Title Here{% endblock %}</title> 6 + <title>{% block title %}Indiemusi.ch{% endblock %}</title> 7 7 <!-- Add any meta tags, CSS links, or other header elements here --> 8 8 <link rel="stylesheet" href="../static/css/indiemusich.css"> 9 9 <script src="https://cdn.tailwindcss.com"></script> ··· 33 33 34 34 <main role="main"> 35 35 <div class="container mx-auto px-4"> 36 + {% if messages %} 37 + <div class="messages"> 38 + {% for message in messages %} 39 + <div class="bg-green-100 border-l-4 border-green-500 text-green-700 p-4 mb-4" role="alert"> 40 + {{ message }} 41 + </div> 42 + {% endfor %} 43 + </div> 44 + {% endif %} 36 45 {% block content %} 37 46 <!-- Content goes here --> 38 47 {% endblock %}
+7
members/templates/members_list.html
··· 3 3 {% block content %} 4 4 <div class="container mx-auto px-4 py-8"> 5 5 <h1 class="text-3xl font-bold mb-8 text-center">Indiemusi.ch Members</h1> 6 + 7 + <div class="text-center mb-8"> 8 + <p class="text-lg mb-4">Do you want to be added to our members list?</p> 9 + <a href="{% url 'member_form' %}" class="inline-block bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded transition-colors"> 10 + Register 11 + </a> 12 + </div> 6 13 7 14 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> 8 15 {% for member in members %}
+5
members/views.py
··· 1 + from django.contrib import messages 1 2 from django.shortcuts import get_object_or_404, redirect, render 2 3 3 4 from .forms import MemberForm ··· 25 26 member = form.save(commit=False) 26 27 member.verified = False # New members start unverified 27 28 member.save() 29 + messages.success( 30 + request, 31 + "Thank you for registering, your submission will be verified by one of our admins soon.", 32 + ) 28 33 return redirect("members_list") 29 34 else: 30 35 form = MemberForm()