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


  • Install django-form-surveys using:

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

  • Add context processor 'djf_surveys.context_processors.surveys_context'

    'context_processors': [
  • Run python migrate to create the djf_surveys models.

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

  • Include url djf_surveys in your root url

    urlpatterns = [
        path('surveys/', include('djf_surveys.urls'))
  • Access to enter admin page to create a survey.

  • Access get list of survey

  • Access{id} get form of survey


  • 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


There are several configurations that you can write on

  • 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 = ''
  • SURVEY_FIELD_VALIDATORS, -> dict: This configuration to override max_length of type filed email, url, text
    # default value of SURVEY_FIELD_VALIDATORS
        'max_length': {
            'email': 150,
            'text': 250,
            'url': 250
    # example declare in
        'max_length': {
            'email': 110,
  • SURVEY_PAGINATION_NUMBER, -> dict: This configuration to override number of pagination survey_list and answer_list
    # example override in
    # default value 12
        'answer_list': 3,
        'survey_list': 2



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

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.1.tar.gz (1.6 MB view hashes)

Uploaded source

Built Distribution

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