Commit 3ea74ab4 authored by Samarth Joshi's avatar Samarth Joshi
parents 29b8ad38 af8610e5
...@@ -20,6 +20,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ...@@ -20,6 +20,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/ # See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret! # SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'kc*v0p%6l+br+l^*s6a)vd=tan_y5!)k)s5d1iw1-!kbj)-3hg' SECRET_KEY = 'kc*v0p%6l+br+l^*s6a)vd=tan_y5!)k)s5d1iw1-!kbj)-3hg'
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
...@@ -38,6 +39,7 @@ INSTALLED_APPS = [ ...@@ -38,6 +39,7 @@ INSTALLED_APPS = [
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'quiz', # our app 'quiz', # our app
'django_extensions',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
...@@ -52,7 +54,7 @@ MIDDLEWARE = [ ...@@ -52,7 +54,7 @@ MIDDLEWARE = [
ROOT_URLCONF = 'QuizSystem.urls' ROOT_URLCONF = 'QuizSystem.urls'
""" Added path to templates directory"""
TEMPLATES = [ TEMPLATES = [
{ {
'BACKEND': 'django.template.backends.django.DjangoTemplates', 'BACKEND': 'django.template.backends.django.DjangoTemplates',
...@@ -68,19 +70,21 @@ TEMPLATES = [ ...@@ -68,19 +70,21 @@ TEMPLATES = [
}, },
}, },
] ]
""" Added path to templates directory"""
WSGI_APPLICATION = 'QuizSystem.wsgi.application' WSGI_APPLICATION = 'QuizSystem.wsgi.application'
# Database # Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases # https://docs.djangoproject.com/en/2.2/ref/settings/#databases
"""Added path to database"""
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
} }
} }
"""Added path to database"""
# Password validation # Password validation
......
...@@ -25,7 +25,7 @@ from django.urls import path,include ...@@ -25,7 +25,7 @@ from django.urls import path,include
from django.contrib.auth import views as auth_views from django.contrib.auth import views as auth_views
"""Defined all url patterns to access various pages of the application""" """Defined all url patterns to access various pages of the application"""
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('',a.student,name="student"), path('',a.student,name="student"),
path('quiz/',a.index), path('quiz/',a.index),
path('submissions/',a.submissions), path('submissions/',a.submissions),
...@@ -44,5 +44,6 @@ urlpatterns = [ ...@@ -44,5 +44,6 @@ urlpatterns = [
path('getbeat/',a.getbeat), path('getbeat/',a.getbeat),
path('logs/',a.view_logs), path('logs/',a.view_logs),
path('logout/', auth_views.LogoutView.as_view(), name='logout'), path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) ]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
No preview for this file type
...@@ -47,15 +47,15 @@ ...@@ -47,15 +47,15 @@
<p>For the full list of settings and their values, see <p>For the full list of settings and their values, see
<a class="reference external" href="https://docs.djangoproject.com/en/2.2/ref/settings/">https://docs.djangoproject.com/en/2.2/ref/settings/</a></p> <a class="reference external" href="https://docs.djangoproject.com/en/2.2/ref/settings/">https://docs.djangoproject.com/en/2.2/ref/settings/</a></p>
<dl class="py data"> <dl class="py data">
<dt id="QuizSystem.settings.ROOT_URLCONF"> <dt id="QuizSystem.settings.DATABASES">
<code class="sig-prename descclassname">QuizSystem.settings.</code><code class="sig-name descname">ROOT_URLCONF</code><em class="property"> = 'QuizSystem.urls'</em><a class="headerlink" href="#QuizSystem.settings.ROOT_URLCONF" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">QuizSystem.settings.</code><code class="sig-name descname">DATABASES</code><em class="property"> = {'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/home/roshan/roshan/CS699/Project/Pariksha/db.sqlite3'}}</em><a class="headerlink" href="#QuizSystem.settings.DATABASES" title="Permalink to this definition"></a></dt>
<dd><p>Added path to templates directory</p> <dd><p>Added path to database</p>
</dd></dl> </dd></dl>
<dl class="py data"> <dl class="py data">
<dt id="QuizSystem.settings.WSGI_APPLICATION"> <dt id="QuizSystem.settings.TEMPLATES">
<code class="sig-prename descclassname">QuizSystem.settings.</code><code class="sig-name descname">WSGI_APPLICATION</code><em class="property"> = 'QuizSystem.wsgi.application'</em><a class="headerlink" href="#QuizSystem.settings.WSGI_APPLICATION" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">QuizSystem.settings.</code><code class="sig-name descname">TEMPLATES</code><em class="property"> = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/roshan/roshan/CS699/Project/Pariksha/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]</em><a class="headerlink" href="#QuizSystem.settings.TEMPLATES" title="Permalink to this definition"></a></dt>
<dd><p>Added path to database</p> <dd><p>Added path to templates directory</p>
</dd></dl> </dd></dl>
</div> </div>
...@@ -101,6 +101,7 @@ ...@@ -101,6 +101,7 @@
<li class="toctree-l2"><a class="reference internal" href="quiz.html">quiz package</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html">quiz package</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -1260,6 +1260,7 @@ ...@@ -1260,6 +1260,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../../../../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -259,6 +259,7 @@ ...@@ -259,6 +259,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../../../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -406,6 +406,7 @@ ...@@ -406,6 +406,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../../../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../../../../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -1031,6 +1031,7 @@ ...@@ -1031,6 +1031,7 @@
<li class="toctree-l1"><a class="reference internal" href="../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -65,6 +65,7 @@ ...@@ -65,6 +65,7 @@
<li class="toctree-l1"><a class="reference internal" href="../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
<div class="viewcode-block" id="main"><a class="viewcode-back" href="../manage.html#manage.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">():</span> <div class="viewcode-block" id="main"><a class="viewcode-back" href="../manage.html#manage.main">[docs]</a><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
<span class="sd">&quot;&quot;&quot;This function is reponsible for managing all the server functionality</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s1">&#39;DJANGO_SETTINGS_MODULE&#39;</span><span class="p">,</span> <span class="s1">&#39;QuizSystem.settings&#39;</span><span class="p">)</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">setdefault</span><span class="p">(</span><span class="s1">&#39;DJANGO_SETTINGS_MODULE&#39;</span><span class="p">,</span> <span class="s1">&#39;QuizSystem.settings&#39;</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="kn">from</span> <span class="nn">django.core.management</span> <span class="kn">import</span> <span class="n">execute_from_command_line</span> <span class="kn">from</span> <span class="nn">django.core.management</span> <span class="kn">import</span> <span class="n">execute_from_command_line</span>
...@@ -76,6 +78,7 @@ ...@@ -76,6 +78,7 @@
<li class="toctree-l1"><a class="reference internal" href="../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -34,8 +34,8 @@ ...@@ -34,8 +34,8 @@
<h1>Source code for quiz.apps</h1><div class="highlight"><pre> <h1>Source code for quiz.apps</h1><div class="highlight"><pre>
<span></span><span class="kn">from</span> <span class="nn">django.apps</span> <span class="kn">import</span> <span class="n">AppConfig</span> <span></span><span class="kn">from</span> <span class="nn">django.apps</span> <span class="kn">import</span> <span class="n">AppConfig</span>
<div class="viewcode-block" id="QuizConfig"><a class="viewcode-back" href="../../quiz.html#quiz.apps.QuizConfig">[docs]</a><span class="k">class</span> <span class="nc">QuizConfig</span><span class="p">(</span><span class="n">AppConfig</span><span class="p">):</span> <div class="viewcode-block" id="QuizConfig"><a class="viewcode-back" href="../../quiz.html#quiz.apps.QuizConfig">[docs]</a><span class="k">class</span> <span class="nc">QuizConfig</span><span class="p">(</span><span class="n">AppConfig</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot; added quiz app in the configuration&quot;&quot;&quot;</span>
<span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;quiz&#39;</span></div> <span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;quiz&#39;</span></div>
</pre></div> </pre></div>
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
<span class="c1">##</span> <span class="c1">##</span>
<div class="viewcode-block" id="UploadFileForm"><a class="viewcode-back" href="../../quiz.html#quiz.forms.UploadFileForm">[docs]</a><span class="k">class</span> <span class="nc">UploadFileForm</span><span class="p">(</span><span class="n">forms</span><span class="o">.</span><span class="n">Form</span><span class="p">):</span> <div class="viewcode-block" id="UploadFileForm"><a class="viewcode-back" href="../../quiz.html#quiz.forms.UploadFileForm">[docs]</a><span class="k">class</span> <span class="nc">UploadFileForm</span><span class="p">(</span><span class="n">forms</span><span class="o">.</span><span class="n">Form</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;This is class is used to create the form for uploading the quiz in CSV form by the instructor&quot;&quot;&quot;</span>
<span class="n">file</span> <span class="o">=</span> <span class="n">forms</span><span class="o">.</span><span class="n">FileField</span><span class="p">()</span></div> <span class="n">file</span> <span class="o">=</span> <span class="n">forms</span><span class="o">.</span><span class="n">FileField</span><span class="p">()</span></div>
</pre></div> </pre></div>
...@@ -62,6 +63,7 @@ ...@@ -62,6 +63,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
This diff is collapsed.
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
<span></span><span class="kn">import</span> <span class="nn">csv</span> <span></span><span class="kn">import</span> <span class="nn">csv</span>
<span class="kn">from</span> <span class="nn">prettytable</span> <span class="kn">import</span> <span class="n">PrettyTable</span> <span class="kn">from</span> <span class="nn">prettytable</span> <span class="kn">import</span> <span class="n">PrettyTable</span>
<div class="viewcode-block" id="readCSV"><a class="viewcode-back" href="../../quiz.html#quiz.newQuiz.readCSV">[docs]</a><span class="k">def</span> <span class="nf">readCSV</span><span class="p">(</span><span class="n">file</span><span class="p">):</span> <div class="viewcode-block" id="readCSV"><a class="viewcode-back" href="../../quiz.html#quiz.newQuiz.readCSV">[docs]</a><span class="k">def</span> <span class="nf">readCSV</span><span class="p">(</span><span class="n">file</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Reads out the csv file uploaded by professor&quot;&quot;&quot;</span>
<span class="n">rows</span><span class="o">=</span><span class="nb">list</span><span class="p">()</span> <span class="n">rows</span><span class="o">=</span><span class="nb">list</span><span class="p">()</span>
<span class="n">reader</span><span class="o">=</span><span class="n">csv</span><span class="o">.</span><span class="n">reader</span><span class="p">(</span><span class="n">file</span><span class="p">)</span> <span class="n">reader</span><span class="o">=</span><span class="n">csv</span><span class="o">.</span><span class="n">reader</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
<span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">reader</span><span class="p">:</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">reader</span><span class="p">:</span>
...@@ -43,6 +44,7 @@ ...@@ -43,6 +44,7 @@
<span class="k">return</span> <span class="n">rows</span></div> <span class="k">return</span> <span class="n">rows</span></div>
<div class="viewcode-block" id="printTable"><a class="viewcode-back" href="../../quiz.html#quiz.newQuiz.printTable">[docs]</a><span class="k">def</span> <span class="nf">printTable</span><span class="p">(</span><span class="n">rows</span><span class="p">):</span> <div class="viewcode-block" id="printTable"><a class="viewcode-back" href="../../quiz.html#quiz.newQuiz.printTable">[docs]</a><span class="k">def</span> <span class="nf">printTable</span><span class="p">(</span><span class="n">rows</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;prints out the csv file uploaded by professor for debugging purposes&quot;&quot;&quot;</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">PrettyTable</span><span class="p">()</span> <span class="n">x</span> <span class="o">=</span> <span class="n">PrettyTable</span><span class="p">()</span>
<span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span><span class="p">:</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span><span class="p">:</span>
<span class="n">x</span><span class="o">.</span><span class="n">add_row</span><span class="p">(</span><span class="n">row</span><span class="p">)</span> <span class="n">x</span><span class="o">.</span><span class="n">add_row</span><span class="p">(</span><span class="n">row</span><span class="p">)</span>
...@@ -74,6 +76,7 @@ ...@@ -74,6 +76,7 @@
<li class="toctree-l1"><a class="reference internal" href="../../modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
This diff is collapsed.
...@@ -11,10 +11,9 @@ Welcome to Pariksha's documentation! ...@@ -11,10 +11,9 @@ Welcome to Pariksha's documentation!
:caption: Contents: :caption: Contents:
modules/AboutUs.rst modules/AboutUs.rst
modules/views.rst modules/views.rst
modules.rst modules.rst
modules/models.rst
Indices and tables Indices and tables
================== ==================
......
...@@ -4,8 +4,13 @@ About Us ...@@ -4,8 +4,13 @@ About Us
SpartanBots SpartanBots
|
|
-Samarth Joshi 203059008 -Samarth Joshi 203059008
-Roshan Sahu 203050048 |
-Sanchit Gupta 203050089 |
-Roshan Sahu 203050048
|
|
-Sanchit Gupta 203050089
Models
======
.. automodule:: quiz.models
:members:
:undoc-members:
This diff is collapsed.
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
<li class="toctree-l2"><a class="reference internal" href="quiz.html">quiz package</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html">quiz package</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li>
</ul> </ul>
</div> </div>
</div> </div>
...@@ -79,6 +80,7 @@ ...@@ -79,6 +80,7 @@
<li class="toctree-l1"><a class="reference internal" href="modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -39,7 +39,8 @@ ...@@ -39,7 +39,8 @@
<dl class="py function"> <dl class="py function">
<dt id="manage.main"> <dt id="manage.main">
<code class="sig-prename descclassname">manage.</code><code class="sig-name descname">main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/manage.html#main"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#manage.main" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">manage.</code><code class="sig-name descname">main</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/manage.html#main"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#manage.main" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd><p>This function is reponsible for managing all the server functionality</p>
</dd></dl>
</div> </div>
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.forms">quiz.forms module</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.forms">quiz.forms module</a></li>
<li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.models">quiz.models module</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.models">quiz.models module</a></li>
<li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.newQuiz">quiz.newQuiz module</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.newQuiz">quiz.newQuiz module</a></li>
<li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.tests">quiz.tests module</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html#quiz-tests-module">quiz.tests module</a></li>
<li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.views">quiz.views module</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz.views">quiz.views module</a></li>
<li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz">Module contents</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html#module-quiz">Module contents</a></li>
</ul> </ul>
...@@ -89,6 +89,7 @@ ...@@ -89,6 +89,7 @@
<li class="toctree-l2"><a class="reference internal" href="quiz.html">quiz package</a></li> <li class="toctree-l2"><a class="reference internal" href="quiz.html">quiz package</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -36,8 +36,16 @@ ...@@ -36,8 +36,16 @@
<div class="section" id="about-us"> <div class="section" id="about-us">
<h1>About Us<a class="headerlink" href="#about-us" title="Permalink to this headline"></a></h1> <h1>About Us<a class="headerlink" href="#about-us" title="Permalink to this headline"></a></h1>
<p>SpartanBots</p> <p>SpartanBots</p>
<div class="line-block">
<div class="line"><br /></div>
<div class="line"><br /></div>
</div>
<p>-Samarth Joshi 203059008 <p>-Samarth Joshi 203059008
|
|
-Roshan Sahu 203050048 -Roshan Sahu 203050048
|
|
-Sanchit Gupta 203050089</p> -Sanchit Gupta 203050089</p>
</div> </div>
...@@ -63,6 +71,7 @@ ...@@ -63,6 +71,7 @@
<li class="toctree-l1 current"><a class="current reference internal" href="#">About Us</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
This diff is collapsed.
...@@ -44,7 +44,8 @@ ...@@ -44,7 +44,8 @@
<dl class="py function"> <dl class="py function">
<dt id="quiz.views.create_quiz"> <dt id="quiz.views.create_quiz">
<code class="sig-prename descclassname">quiz.views.</code><code class="sig-name descname">create_quiz</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/quiz/views.html#create_quiz"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#quiz.views.create_quiz" title="Permalink to this definition"></a></dt> <code class="sig-prename descclassname">quiz.views.</code><code class="sig-name descname">create_quiz</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">request</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/quiz/views.html#create_quiz"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#quiz.views.create_quiz" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd><p>This function renders the create quiz page for manually entering questions</p>
</dd></dl>
<dl class="py function"> <dl class="py function">
<dt id="quiz.views.getbeat"> <dt id="quiz.views.getbeat">
...@@ -181,6 +182,7 @@ and choosen answers also the explainations for the questions provided by the pro ...@@ -181,6 +182,7 @@ and choosen answers also the explainations for the questions provided by the pro
<li class="toctree-l1"><a class="reference internal" href="AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="AboutUs.html">About Us</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Views</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="../modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
...@@ -88,12 +88,7 @@ ...@@ -88,12 +88,7 @@
<tr class="cg-1"> <tr class="cg-1">
<td></td> <td></td>
<td>&#160;&#160;&#160; <td>&#160;&#160;&#160;
<a href="quiz.html#module-quiz.tests"><code class="xref">quiz.tests</code></a></td><td> <a href="quiz.html#module-quiz.views"><code class="xref">quiz.views</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="modules/views.html#module-quiz.views"><code class="xref">quiz.views</code></a></td><td>
<em></em></td></tr> <em></em></td></tr>
<tr> <tr>
<td><img src="_static/minus.png" class="toggler" <td><img src="_static/minus.png" class="toggler"
...@@ -135,6 +130,7 @@ ...@@ -135,6 +130,7 @@
<li class="toctree-l1"><a class="reference internal" href="modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
This diff is collapsed.
...@@ -79,6 +79,7 @@ ...@@ -79,6 +79,7 @@
<li class="toctree-l1"><a class="reference internal" href="modules/AboutUs.html">About Us</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/AboutUs.html">About Us</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li> <li class="toctree-l1"><a class="reference internal" href="modules/views.html">Views</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules.html">Pariksha</a></li> <li class="toctree-l1"><a class="reference internal" href="modules.html">Pariksha</a></li>
<li class="toctree-l1"><a class="reference internal" href="modules/models.html">Models</a></li>
</ul> </ul>
<div class="relations"> <div class="relations">
......
This diff is collapsed.
...@@ -11,10 +11,9 @@ Welcome to Pariksha's documentation! ...@@ -11,10 +11,9 @@ Welcome to Pariksha's documentation!
:caption: Contents: :caption: Contents:
modules/AboutUs.rst modules/AboutUs.rst
modules/views.rst modules/views.rst
modules.rst modules.rst
modules/models.rst
Indices and tables Indices and tables
================== ==================
......
...@@ -4,8 +4,13 @@ About Us ...@@ -4,8 +4,13 @@ About Us
SpartanBots SpartanBots
|
|
-Samarth Joshi 203059008 -Samarth Joshi 203059008
-Roshan Sahu 203050048 |
-Sanchit Gupta 203050089 |
-Roshan Sahu 203050048
|
|
-Sanchit Gupta 203050089
Models
======
.. automodule:: quiz.models
:members:
:undoc-members:
...@@ -5,6 +5,8 @@ import sys ...@@ -5,6 +5,8 @@ import sys
def main(): def main():
"""This function is reponsible for managing all the server functionality
"""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'QuizSystem.settings') os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'QuizSystem.settings')
try: try:
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line
......
...@@ -10,10 +10,17 @@ from .models import Permission ...@@ -10,10 +10,17 @@ from .models import Permission
from .models import log from .models import log
""""To easily insert and update data for the various models thorough django admin page""" """"To easily insert and update data for the various models thorough django admin page"""
admin.site.register(Questions) admin.site.register(Questions)
"""To allow to view questions to the admin"""
admin.site.register(submission) admin.site.register(submission)
"""To allow to view submissions to the admin"""
admin.site.register(cribs) admin.site.register(cribs)
"""To allow to view cribs to the admin"""
admin.site.register(quiz) admin.site.register(quiz)
"""To allow to view quizzes to the admin"""
admin.site.register(result) admin.site.register(result)
"""To allow to view registrations to the admin"""
admin.site.register(Permission) admin.site.register(Permission)
"""To allow to permit the users for professor role by the admin"""
admin.site.register(log) admin.site.register(log)
"""To allow to view logs of student activity during examination to the admin"""
from django.apps import AppConfig from django.apps import AppConfig
class QuizConfig(AppConfig): class QuizConfig(AppConfig):
""" added quiz app in the configuration"""
name = 'quiz' name = 'quiz'
...@@ -4,4 +4,5 @@ from django import forms ...@@ -4,4 +4,5 @@ from django import forms
## ##
class UploadFileForm(forms.Form): class UploadFileForm(forms.Form):
"""This is class is used to create the form for uploading the quiz in CSV form by the instructor"""
file = forms.FileField() file = forms.FileField()
\ No newline at end of file
...@@ -6,18 +6,26 @@ from django.utils import timezone ...@@ -6,18 +6,26 @@ from django.utils import timezone
class Permission(models.Model): class Permission(models.Model):
"""This class is used to create the userspermission table in database.Defines the permission of the user default permission is Student the admin can provide staff permission""" """This class is used to create the userspermission table in database.Defines the permission of the user default permission is Student the admin can provide staff permission"""
userId=models.ForeignKey(to=User, on_delete=models.CASCADE) userId=models.ForeignKey(to=User, on_delete=models.CASCADE)
role=models.CharField(max_length=1,default="S") """This is the foreign key pointing to Users table"""
role=models.CharField(max_length=1,default="S")
"""The roles are Student(S) and Professor(P) default is student and admin allocates Professor role based on requests"""
class quiz(models.Model): class quiz(models.Model):
"""This class is used to create the quiz table in database.Contains information about the quiz time,length,code and instructor who has created it""" """This class is used to create the quiz table in database.Contains information about the quiz time,length,code and instructor who has created it"""
quizId=models.AutoField(primary_key=True) #primary key quizId=models.AutoField(primary_key=True)
"""The quizid to uniquely identiy the quiz (Primary key)"""
startTime=models.TimeField() startTime=models.TimeField()
"""Start Time of the quiz """
date=models.DateField(default=datetime.date.today) date=models.DateField(default=datetime.date.today)
"""The Start date of quiz"""
length=models.FloatField(max_length=10) length=models.FloatField(max_length=10)
quizCode=models.CharField(max_length=100,default='Code') ##quiz Code set by instructor """The duration of the quiz in minutes"""
quizCode=models.CharField(max_length=100,default='Code')
"""Random 6 Alhpa numeric characters assigned to each quiz"""
quizDone=models.BooleanField(default=False) quizDone=models.BooleanField(default=False)
quizInfo=models.CharField(max_length=100,default="No Info Available") quizInfo=models.CharField(max_length=100,default="No Info Available")
quizInstructor=models.ForeignKey(to=User, on_delete=models.CASCADE) quizInstructor=models.ForeignKey(to=User, on_delete=models.CASCADE)
"""The instructor who created the quiz"""
@property @property
def end_datetime( self ): def end_datetime( self ):
...@@ -31,18 +39,26 @@ class quiz(models.Model): ...@@ -31,18 +39,26 @@ class quiz(models.Model):
class Questions(models.Model): class Questions(models.Model):
""" This class is used to create the Questions table in database.Contains info about the questions within a particular quiz and its attributes like socre and negative marks and correct answer""" """ This class is used to create the Questions table in database.Contains info about the questions within a particular quiz and its attributes like socre and negative marks and correct answer"""
question = models.TextField() question = models.TextField()
"""Question descirption"""
option1 = models.CharField(max_length=100) option1 = models.CharField(max_length=100)
"""option 1 for question"""
option2 = models.CharField(max_length=100) option2 = models.CharField(max_length=100)
"""option 2 for question"""
option3 = models.CharField(max_length=100) option3 = models.CharField(max_length=100)
"""option 3 for question"""
option4 = models.CharField(max_length=100) option4 = models.CharField(max_length=100)
"""option 4 for question"""
answer = models.CharField(max_length=100) answer = models.CharField(max_length=100)
type=models.CharField(max_length=10,default=1) type=models.CharField(max_length=10,default=1)
marks =models.IntegerField(default=1) marks =models.IntegerField(default=1)
negative = models.FloatField(max_length=10,default=0) negative = models.FloatField(max_length=10,default=0)
explainations=models.TextField(max_length=1000,default='No Explaination Given') explainations=models.TextField(max_length=1000,default='No Explaination Given')
questionId=models.AutoField(primary_key=True,) questionId=models.AutoField(primary_key=True,)
"""Unqiue question identifier Primary key"""
quizCode =models.CharField(max_length=100,default='Code') quizCode =models.CharField(max_length=100,default='Code')
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE)#unique quiz identification """6 random alpha numeric characters for each quiz"""
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE)
"""Foreign key of quiz model"""
def __str__(self): def __str__(self):
return str(self.questionId) return str(self.questionId)
...@@ -52,16 +68,21 @@ class Questions(models.Model): ...@@ -52,16 +68,21 @@ class Questions(models.Model):
class submission(models.Model): class submission(models.Model):
""" This class is used to create the Submission table in database.Contains info about each questions answer submitted by each student""" """ This class is used to create the Submission table in database.Contains info about each questions answer submitted by each student"""
questionId=models.ForeignKey(Questions,to_field='questionId',on_delete=models.CASCADE) questionId=models.ForeignKey(Questions,to_field='questionId',on_delete=models.CASCADE)
"""Foreign key of question model"""
option=models.CharField(max_length=100) option=models.CharField(max_length=100)
"""The option selected by the student"""
studentId=models.ForeignKey(to=User, on_delete=models.CASCADE) studentId=models.ForeignKey(to=User, on_delete=models.CASCADE)
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE)#unique quiz identification """Foreign key of user model"""
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE)
"""Foreign key of quiz model"""
class cribs(models.Model): class cribs(models.Model):
""" This class is used to create the cribs table in database.Contains cribs raised by students""" """ This class is used to create the cribs table in database.Contains cribs raised by students"""
studentId=models.ForeignKey(to=User, on_delete=models.CASCADE) studentId=models.ForeignKey(to=User, on_delete=models.CASCADE)
cribs=models.CharField(max_length=1000) cribs=models.CharField(max_length=1000)
"""The cribs registered by the student for the given question"""
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE) quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE)
"""Foreign key of quiz model"""
questionId=models.ForeignKey(Questions,to_field='questionId',on_delete=models.CASCADE) questionId=models.ForeignKey(Questions,to_field='questionId',on_delete=models.CASCADE)
class Meta: class Meta:
db_table="cribs" db_table="cribs"
...@@ -71,13 +92,20 @@ class result(models.Model): ...@@ -71,13 +92,20 @@ class result(models.Model):
"""This class is used to create the result table in database.Stores cumulative score by each student in each quiz""" """This class is used to create the result table in database.Stores cumulative score by each student in each quiz"""
studentId = models.ForeignKey(to=User, on_delete=models.CASCADE) studentId = models.ForeignKey(to=User, on_delete=models.CASCADE)
quizId = models.ForeignKey(quiz, to_field='quizId', on_delete=models.CASCADE) quizId = models.ForeignKey(quiz, to_field='quizId', on_delete=models.CASCADE)
"""Foreign key of quiz model"""
marks=models.IntegerField(default=0) marks=models.IntegerField(default=0)
"""cumulative marks for each student"""
class log(models.Model): class log(models.Model):
"""This class is used to create the log table in database.stores the student activity information for monitoring the students""" """This class is used to create the log table in database.stores the student activity information for monitoring the students"""
quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE, default="") quizId=models.ForeignKey(quiz,to_field='quizId',on_delete=models.CASCADE, default="")
"""Foreign key of quiz model"""
studentId = models.ForeignKey(to=User, on_delete=models.CASCADE, default="") studentId = models.ForeignKey(to=User, on_delete=models.CASCADE, default="")
"""Foreign key of user model"""
logtime = models.DateTimeField(default=timezone.now) logtime = models.DateTimeField(default=timezone.now)
"""The time student last logged in"""
fullscreen=models.CharField(max_length=20, default="") fullscreen=models.CharField(max_length=20, default="")
questions=models.CharField(max_length=20, default="") """Contains value to check whether the student has left fullscreen"""
\ No newline at end of file questions=models.CharField(max_length=20, default="")
"""Foreign key for questions model"""
\ No newline at end of file
import csv import csv
from prettytable import PrettyTable from prettytable import PrettyTable
def readCSV(file): def readCSV(file):
"""Reads out the csv file uploaded by professor"""
rows=list() rows=list()
reader=csv.reader(file) reader=csv.reader(file)
for row in reader: for row in reader:
...@@ -9,6 +10,7 @@ def readCSV(file): ...@@ -9,6 +10,7 @@ def readCSV(file):
return rows return rows
def printTable(rows): def printTable(rows):
"""prints out the csv file uploaded by professor for debugging purposes"""
x = PrettyTable() x = PrettyTable()
for row in rows: for row in rows:
x.add_row(row) x.add_row(row)
......
<!DOCTYPE html> <!DOCTYPE html>
<head> <head>
{% load static %}
<title>Pariksha | Quiz List</title> <title>Pariksha | ALL Quizzes</title>
<script> <script>
function start_quiz(x) { function start_quiz(x) {
window.open("/quiz/?q="+x, "_blank", "fullscreen=yes"); window.open("/quiz/?q="+x, "_blank", "fullscreen=yes");
}
</script>
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="{% static 'assets/DataTables/datatables.min.css' %}"/>
<script type="text/javascript" src="{% static 'assets/DataTables/datatables.min.js' %}"></script>
<style>
* {
font-family: 'Source Sans Pro', sans-serif;
}
.table_wrapper {
margin: 40px;
animation: appear 1s 1;
position: relative;
}
.action_btn {
color: white;
background-color: #1779BA;
cursor: pointer;
padding-left: 15px;
padding-right: 15px;
padding-top: 10px;
padding-bottom: 10px;
border-radius: 6px;
}
@keyframes appear {
0% {
opacity: 0;
top: 50px;
} }
</script> 100% {
<style> opacity: 1;
#quiz_links { top:0px;
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
} }
#quiz_links:hover { }
background-color: #ce9a66;
color: white; .emptiness {
display: flex;
height: 100vh;
justify-content: center;
flex-direction: column;
align-items: center;
} }
body { .heading {
margin: 0px; width: 400px;
background-color: #8EC5FC; margin: 50px auto;
background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%); font-weight: bold;
}
table,td,tr{
border: 1px solid black;
border-collapse: collapse;
width: 60%;
text-align: center;
}
tr:nth-child(even) {background-color: #FAACA8;
background-image: linear-gradient(19deg, #FAACA8 0%, #DDD6F3 100%);
}
tr:nth-child(odd) {background-color: #F4D03F;
background-image: linear-gradient(132deg, #F4D03F 0%, #16A085 100%);
}
.qlinks {
height: 60px;
display: block;
cursor: pointer;
line-height: 60px;
font-size: 1.2em;
} }
</style> </style>
</head> </head>
<body> <body>
{%if quizId%}
<center><h1 style="font-family: Optima; font-size:50px;"><a>Welcome Student {{user}}</a></h1><br> <h1 class="heading">ALL Quizzes</h1>
<h1>List of ongoing quizzes.</h1> <section class="table_wrapper">
</center> <table cellspacing="0" id="myTable">
<div class="quiz"> <thead><th>Code</th><th>Quiz Name</th><th>Organized By</th><th>Date</th><th>Time</th><th>Duration</th><th>Attempt quiz</th></thead>
<center> <tbody>
<table >
{%for quiz in quizId%} {%for quiz in quizId%}
<br> <tr>
<tr> <td>{{quiz.quizCode}}</td><td>{{quiz.quizInfo}}</td><td>{{quiz.quizInstructor}}</td><td>{{quiz.date}}</td><td>{{quiz.startTime}}</td><td>{{quiz.length}} minutes</td><td> <button onclick="start_quiz({{quiz.quizId}})" class="action_btn" type="button">Start</button></td>
<td> </tr>
<a id="quiz_links" class="qlinks" onclick="start_quiz({{quiz.quizId}})">Start Quiz :{{quiz.quizInfo}}</a>
</td>
</tr>
{%endfor%} {%endfor%}
</table> </tbody>
</center> </table>
</div> </section>
{%else%}
<div class="emptiness">
<img src="{% static 'img/students.svg' %}" height="100px">
<h3>You have not attempted any quiz.</h3>
</div>
{%endif%}
<script>
function test() {
alert(1);
}
$(document).ready( function () {
$('#myTable').DataTable();
} );
</script>
</body> </body>
</html> </html>
\ No newline at end of file
from django.test import TestCase
# Create your tests here.
...@@ -218,6 +218,7 @@ def handle_uploaded_file(f,q1): ...@@ -218,6 +218,7 @@ def handle_uploaded_file(f,q1):
q.save() q.save()
def create_quiz(request): def create_quiz(request):
"""This function renders the create quiz page for manually entering questions"""
return render(request, 'quiz_create.html') return render(request, 'quiz_create.html')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment