Skip to main content

A simple Django app to conduct Web-based survey

Project description

Django Form Survey

Django form survey is an application Django to easier create form survey and easy integrated for your project.

image summary

Table of content

  • Installation
  • Features
  • Configuration

Installation

  • Install django-form-surveys using:

    pip install django-form-surveys
    
  • Add djf_surveys to your INSTALLED_APPS setting like this

    INSTALLED_APPS = [
        ...
        'djf_surveys',
    ]
    
  • Add context processor 'djf_surveys.context_processors.surveys_context'

    'context_processors': [
        ....
        'djf_surveys.context_processors.surveys_context'
    ],
    
  • Run python manage.py migrate to create the djf_surveys models.

  • Run python manage.py collectstatic to collect file static djf_surveys into project.

  • Include url djf_surveys in your root url

    ....
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        .....
        path('surveys/', include('djf_surveys.urls'))
    ]
    
  • Access http://127.0.0.1:8000/surveys/dashboard/ to enter admin page to create a survey.

  • Access http://127.0.0.1:8000/surveys/ get list of survey

  • Access http://127.0.0.1:8000/surveys/{id} get form of survey

Features

  • Manage a survey: You must as superuser to manage survey
    • You can create, edit, delete, search and show all available survey.
    • To manage survey you can access http://localhost:8000/surveys/dashboard/. image
  • Option config survey:
    • editable: this option allows the user to edit the answer
    • deletable: this option allows the user to delete the answer
    • duplicate entry: this option allows users to submit more than once
    • private reponse: this option makes the answer list only visible to admin
    • can anonymous user: This option allows users without authentication to submit
  • Support many question type (type field): Available field types include: image
    • Text
    • Number
    • Radio
    • Select
    • Multi Select
    • Text Area
    • URL
    • Email
    • Date
    • Rating image
  • Easy sorting question: You can drag and drop to sort question image
  • Change master template: look section Configuration
  • Duplicate entry: look section Configuration
  • Download respondent report download_report
  • Summary: You can see the survey summary in a charts. Summary just calculate type field "radio, select, multi_select, rating" summary

Configuration

There are several configurations that you can write on settings.py

  • SURVEY_MASTER_TEMPLATE, default='surveys/master.html', -> str: This configuration to change master template using your template. You can set with your template path. Example SURVEY_MASTER_TEMPLATE = 'mywebsite/master.html'

    NB: This config will be work if on your template use block content {% block content %} to include or render content of context from view and your master template must be including or using Tailwind CSS.

  • SURVEY_USER_PHOTO_PROFILE, default='', -> str: This configuration is used to add a profile photo object that is related to the User model. Example: SURVEY_USER_PHOTO_PROFILE = 'self.user.profile.photo.url'
  • SURVEY_FIELD_VALIDATORS, -> dict: This configuration to override max_length of type filed email, url, text
    # default value of SURVEY_FIELD_VALIDATORS
    SURVEY_FIELD_VALIDATORS = {
        'max_length': {
            'email': 150,
            'text': 250,
            'url': 250
        }
    }
    
    # example declare in settings.py
    SURVEY_FIELD_VALIDATORS = {
        'max_length': {
            'email': 110,
        }
    }
    
  • SURVEY_PAGINATION_NUMBER, -> dict: This configuration to override number of pagination survey_list and answer_list
    # example override in settings.py
    # default value 12
    SURVEY_PAGINATION_NUMBER = {
        'answer_list': 3,
        'survey_list': 2
    }
    

Thanks!

image

For Contributor

  • clone project
  • symlink app to demo
    ln -s [path_project_djf_survey] [path_demo_djf_survey]
    
  • create env development
  • active env
  • enter directory demo
  • now, you can access all command manage.py

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

django-form-surveys-2.0.0.tar.gz (1.6 MB view hashes)

Uploaded Source

Built Distribution

django_form_surveys-2.0.0-py3-none-any.whl (1.6 MB view hashes)

Uploaded Python 3

Supported by

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