Kampanie (campaigns)

Założenia

Moduł zapewnia mechanizm budowania wielu kampanii w ramach indywidualnej instancji aplikacji. Pozwala to ograniczyć liczbę aplikacij, które będą uruchomione dla różnych kampanii. Dla uruchomienia dodatkowej instancji aplikacji konieczne jest zagwarantowanie, że

Każda kampania stanowi jedną lub więcej petycji (Petycje (petitions)).

Każda kampania może mieć skonfigurowany indywidualny wystrój, dzięki mechanizmowi szablonów (Szablony (themes)).

Mechanizm kampanii odpowiedzialny jest także za kontrolę dostępu. Umożliwia bowiem określenia użytkowników, którzy bez uprawnień administracyjnych mają możliwość zarządzania ankietami.

Dodawanie kampanii

Uruchomienie kampanii wymaga podjęcia następujących kroków:

  1. aktualizacja serwera WWW do obsługi nowej domeny
  2. aktualizacja dopuszczalnych adresów domenowych - zob. ALLOWED_HOSTS poprzez zmienną środowiskową DJANGO_ALLOWED_HOSTS
  3. dodawania nowej strony - zob. django.contrib.sites
  4. dodania kampanii w panelu administracyjnym - zob. petycja_norweskie.campaigns.admin.CampaignAdmin

Architektura

Model

class petycja_norweskie.campaigns.models.Campaign(id, created, modified, name, organizer, theme, site, site_title, site_subtitle, show_title)[źródło]
Parametry:
  • id (AutoField) – Id
  • created (AutoCreatedField) – Utworzony
  • modified (AutoLastModifiedField) – Zmodyfikowany
  • name (CharField) – Nazwa
  • organizer (CharField) – Osoba lub organizcja odpowiedzialna za organizacje kampanii
  • theme_id (ForeignKey to petycja_norweskie.themes.models.Theme) – Theme
  • site_id (ForeignKey to django.contrib.sites.models.Site) – Strona użyta w kampanii
  • site_title (CharField) – Nazwa
  • site_subtitle (CharField) – Podtytuł
  • show_title (BooleanField) – Pokaż tytuł petycji

Panel administracyjny

class petycja_norweskie.campaigns.admin.CampaignAdmin(model, admin_site)[źródło]

Admin View for Campaign

Widoki

Fabryki