Giter Club home page Giter Club logo

cad's Introduction

C.A.D. Cours à domicile

Le code source du site http://cadcours.com

CAD - le premier réseau belge spécialisé en math, chimie, physique et français dès 7,80€/h · [email protected]

cad's People

Contributors

deepsource-autofix[bot] avatar deepsourcebot avatar minigrim0 avatar

Watchers

 avatar

cad's Issues

-

Il manque le trait d'union à "connectez-vous"

image

Server Error (500)

On reçoit le message Server Error (500) lorsqu'on enregistre un coach existant.

Serait-il possible de le modifier en un message indiquant que le coach a déjà été enregistré?

impossible de créer un compte coach

Après avoir rempli les informations relatives au nouveau coach et après avoir cliqué sur "créer un compte", apparaît l'erreur Server Error (500)

lors de l'inscription

lors de l'inscription, quand un champ n'est pas accepté ou est manquant, le mot de passe choisi disparaît et il faut le ré-introduire

Erreur lors de la création d’un compte coach

MultiValueDictKeyError at /inscription/register/
'lastName'
Request Method: GET
Request URL: http://cadcours.alwaysdata.net/inscription/register/
Django Version: 3.0.7
Exception Type: MultiValueDictKeyError
Exception Value:
'lastName'
Exception Location: /home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem, line 78
Python Executable: /usr/alwaysdata/uwsgi/2.0.18/bin/uwsgi
Python Version: 3.7.2
Python Path:
['.',
'',
'/usr/alwaysdata/python/3.7.2/lib/python37.zip',
'/usr/alwaysdata/python/3.7.2/lib/python3.7',
'/usr/alwaysdata/python/3.7.2/lib/python3.7/lib-dynload',
'/home/cadcours/.local/lib/python3.7/site-packages',
'/usr/alwaysdata/python/3.7.2/lib/python3.7/site-packages']
Server time: dim, 12 Jul 2020 20:09:16 +0200
Traceback Switch to copy-and-paste view

/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
list_ = super().getitem(key) …
▶ Local vars
During handling of the above exception ('lastName'), another exception occurred:
./inscription/views.py in registerBase
username = form["lastName"] + "" + form['firstName'] …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
raise MultiValueDictKeyError(key) …
▶ Local vars
During handling of the above exception ('lastName'), another exception occurred:
/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
list
= super().getitem(key) …
▶ Local vars
During handling of the above exception ('lastName'), another exception occurred:
/home/cadcours/.local/lib/python3.7/site-packages/django/core/handlers/exception.py in inner
response = get_response(request) …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/core/handlers/base.py in _get_response
response = self.process_exception_by_middleware(e, request) …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/core/handlers/base.py in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
./inscription/views.py in registerBase
username = form["lastName"] + "
" + form['firstName'] …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
raise MultiValueDictKeyError(key) …
▶ Local vars
Request information

USER
AnonymousUser
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
Variable Value
csrftoken
'ZDcU7MbWDl5gBTBzK6QI6BpFASBbgxHVrVjLEE13nQyfA8NLaP8rvRSMlv6RtHRz'
sessionid
'zdy19y4lopmkfn0ym2nmsq40nlu0vml4'
META
Variable Value
CSRF_COOKIE
'ZDcU7MbWDl5gBTBzK6QI6BpFASBbgxHVrVjLEE13nQyfA8NLaP8rvRSMlv6RtHRz'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8'
HTTP_ACCEPT_ENCODING
'gzip, deflate'
HTTP_ACCEPT_LANGUAGE
'en-us'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
('csrftoken=ZDcU7MbWDl5gBTBzK6QI6BpFASBbgxHVrVjLEE13nQyfA8NLaP8rvRSMlv6RtHRz; '
'sessionid=zdy19y4lopmkfn0ym2nmsq40nlu0vml4')
HTTP_HOST
'cadcours.alwaysdata.net'
HTTP_ORIGIN
'http://cadcours.alwaysdata.net'
HTTP_REFERER
'http://cadcours.alwaysdata.net/inscription/coach/'
HTTP_UPGRADE_INSECURE_REQUESTS
'1'
HTTP_USER_AGENT
('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, '
'like Gecko) Version/13.1.1 Safari/605.1.15')
HTTP_VIA
'1.1 alproxy'
HTTP_X_REAL_IP
'94.109.102.22'
PATH_INFO
'/inscription/register/'
QUERY_STRING
''
REMOTE_ADDR
'94.109.102.22'
REQUEST_METHOD
'GET'
REQUEST_URI
'/inscription/register/'
SCRIPT_NAME
''
SERVER_NAME
'http8'
SERVER_PORT
'8100'
SERVER_PROTOCOL
'HTTP/1.1'
uwsgi.node
b'http8'
uwsgi.version
b'2.0.18'
wsgi.errors
<_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.input
<uwsgi._Input object at 0x7fbe1e83ce28>
wsgi.multiprocess
True
wsgi.multithread
False
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)
Settings
Using settings module cad.settings
Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('Minigrimo', '[email protected]'),)
ALLOWED_HOSTS
['cadcours.alwaysdata.net']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
''
AUTH_USER_MODEL
'auth.User'
BASE_DIR
'/home/cadcours/www/cad'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'
'
CACHE_MIDDLEWARE_SECONDS
600
CRISPY_TEMPLATE_PACK
'bootstrap4'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
'csrftoken'
CSRF_COOKIE_PATH
'/'
CSRF_COOKIE_SAMESITE
'Lax'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'postgresql-cadcours.alwaysdata.net',
'NAME': 'cadcours_db',
'OPTIONS': {},
'PASSWORD': '',
'PORT': '5432',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'cadcours'}}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M',
'%m/%d/%y']
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y']
DEBUG
1
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_CHARSET
'utf-8'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'smtp.gmail.com'
EMAIL_HOST_PASSWORD
'
'
EMAIL_HOST_USER
'[email protected]'
EMAIL_PORT
'587'
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
''
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
True
FILE_CHARSET
'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
420
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'default',
'inscription',
'connexion',
'users',
'administration',
'crispy_forms']
INTERNAL_IPS
[]
LANGUAGES
[('af', 'Afrikaans'),
('ar', 'Arabic'),
('ast', 'Asturian'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('be', 'Belarusian'),
('bn', 'Bengali'),
('br', 'Breton'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('dsb', 'Lower Sorbian'),
('el', 'Greek'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('eo', 'Esperanto'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-co', 'Colombian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy', 'Frisian'),
('ga', 'Irish'),
('gd', 'Scottish Gaelic'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hsb', 'Upper Sorbian'),
('hu', 'Hungarian'),
('hy', 'Armenian'),
('ia', 'Interlingua'),
('id', 'Indonesian'),
('io', 'Ido'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('kab', 'Kabyle'),
('kk', 'Kazakh'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lb', 'Luxembourgish'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('mr', 'Marathi'),
('my', 'Burmese'),
('nb', 'Norwegian Bokmål'),
('ne', 'Nepali'),
('nl', 'Dutch'),
('nn', 'Norwegian Nynorsk'),
('os', 'Ossetic'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('sw', 'Swahili'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('tt', 'Tatar'),
('udm', 'Udmurt'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('uz', 'Uzbek'),
('vi', 'Vietnamese'),
('zh-hans', 'Simplified Chinese'),
('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI
['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE
'fr-be'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_HTTPONLY
False
LANGUAGE_COOKIE_NAME
'django_language'
LANGUAGE_COOKIE_PATH
'/'
LANGUAGE_COOKIE_SAMESITE
None
LANGUAGE_COOKIE_SECURE
False
LOCALE_PATHS
[]
LOGGING
{}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
''
MEDIA_URL
''
MESSAGE_STORAGE
'django.contrib.messages.storage.session.SessionStorage'
MIDDLEWARE
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_HASHERS
'
'
PASSWORD_RESET_TIMEOUT_DAYS
''
PREPEND_WWW
False
ROOT_URLCONF
'cad.urls'
SECRET_KEY
'
'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
True
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_REFERRER_POLICY
None
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'root@localhost'
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SAMESITE
'Lax'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'cad.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STATICFILES_DIRS
('cad/assets/',)
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
'/home/cadcours/www/cad/static/'
STATIC_URL
'/static/'
TEMPLATES
[{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE
'Europe/Brussels'
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'cad.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

Server Error (500)

Ce message d'erreur est systématique reçu à la tentative de création d'un compte de coach (existant ou nouveau)

Server Error 500

Lorsque je crée mon compte élève et que j'appuie sur le bouton crée un compte, une erreur 500 apparait.

supprimer le coach Edwin

En étant connecté sous le nom du coach Edwin Fisher, le système demande de confirmer l'adresse e-mail mais aucun e-mail de demande de confirmation n'est reçu.(C'est peut-être dû au fait que le compte a été créé avant que la fonctionnalité des envois d'email de confirmation soit activée ou que Outlook avait bloqué ce compte car ils ont estimé l'activité suspicieuse. Ce compte Outlook est à présent débloqué.)

Y aurait-il moyen de supprimer le coach Edwin du système? Ainsi, on procédera à sa réinscription pour voir si ça fonctionne.

familles avec deux enfants

Pour les familles ayant deux (ou + que 2) enfants qui prennent cours, on doit pouvoir leur permettre d'inscrire leur deuxième enfant avec la même adresse e-mail. A présent le système ne l'accepte pas.

Lorsque la famille se connectera sur son compte, on pourrait lui proposer de se connecter sous le nom de l'enfant 1 ou sous le nom de l'enfant 2.

Toute autre solution ergonomique et simple est à envisager.

ouvert / fermé

Puis-je réouvrir une issue fermée à partir de ma tablette? Ou alors n'aurais-je pas le statut nécessaire pour le faire?

Format date

Lorsqu'on inscrit comme date de naissance de l'élève 4/4/88 le format n'est pas accepté.

Il faudrait accepter ce format et même enlever tout contrôle sur le format de la date.

Ça aiderait l'équipe administrative de se méfier de l'élève qui a écrit "aaaa" comme date de naissance.

Idem pour les dates de naissance des coach.

ligne rouge

Une ligne rouge apparaît sur les boutons bleus "connexion" et "inscription" quand on fait un roll-over avec la souris. Il faudrait l'enlever.

(Cette ligne rouge n'apparaît pas dans les autres boutons bleus du site)

Screenshot 2020-08-11 at 12 16 54

les coach ne sont pas notifiés des cours à donner

-un élève a été inscrit pour prendre cours de math
-un coach a été engagé pour donner math
-le solde a été mis en positif
-le coach aurait dû recevoir une proposition de donner cours, ce qui n'est pas le cas

?

Enlever les espaces devant tous les points d'interrogation pour éviter des passages à la ligne malheureux.

image

image

tel du responsable

Lors de l'inscription de l'élève, il faudrait avoir un champ "téléphone de l'élève"
et un champ "téléphone du responsable 1 (par ex mère, père ,tuteur, oncle, grand-mère)" et un champ "téléphone du responsable 2 (par ex mère, père ,tuteur, oncle, grand-mère)" et un champ "téléphone du responsable 3 (par ex mère, père ,tuteur, oncle, grand-mère)"

Ces champs doivent être non obligatoires sauf "téléphone du responsable 1" qui doit être obligatoire

Ne pas mettre de contrôle de format sur ces champs.

S'il y a moyen de facilement augmenter l'ergonomie (sans que ça te demande trop de temps) n'hésite pas à par ex proposer uniquement le champ "téléphone du responsable 1" et un bouton "ajouter un tel supplémentaire" avec chaque fois un champ pour écrire le lien avec l'élève (mère, père ,tuteur, oncle, grand-mère, jardinier LOL)

Je proposerais de ne pas faire la même chose pour l'e-mail pour des questions de centralisation. Qu'on sache à quel e-mail unique est associé un élève. Mais que se passe-t-il le jour où un élève change d'e-mail?

erreur 500

L'erreur 500 apparaît après avoir tenté de créer un compte élève (après avoir cliqué sur "'créer un compte"

menu déroulant

Lorsque l'on clique sur un item du menu déroulant, il serait ergonomique que le menu déroulant se ferme automatiquement. (voir le (super) site de apple.com LOL)

Ceci n'est évidemment pas prioritaire mais à faire si ça ne demande pas trop de temps.

Erreur lors de la création d’un compte élève

MultiValueDictKeyError at /inscription/register/
'lastName'
Request Method: GET
Request URL: http://cadcours.alwaysdata.net/inscription/register/
Django Version: 3.0.7
Exception Type: MultiValueDictKeyError
Exception Value:
'lastName'
Exception Location: /home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem, line 78
Python Executable: /usr/alwaysdata/uwsgi/2.0.18/bin/uwsgi
Python Version: 3.7.2
Python Path:
['.',
'',
'/usr/alwaysdata/python/3.7.2/lib/python37.zip',
'/usr/alwaysdata/python/3.7.2/lib/python3.7',
'/usr/alwaysdata/python/3.7.2/lib/python3.7/lib-dynload',
'/home/cadcours/.local/lib/python3.7/site-packages',
'/usr/alwaysdata/python/3.7.2/lib/python3.7/site-packages']
Server time: dim, 12 Jul 2020 20:01:04 +0200
Traceback Switch to copy-and-paste view

/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
list_ = super().getitem(key) …
▶ Local vars
During handling of the above exception ('lastName'), another exception occurred:
./inscription/views.py in registerBase
username = form["lastName"] + "" + form['firstName'] …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
raise MultiValueDictKeyError(key) …
▶ Local vars
During handling of the above exception ('lastName'), another exception occurred:
/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
list
= super().getitem(key) …
▶ Local vars
During handling of the above exception ('lastName'), another exception occurred:
/home/cadcours/.local/lib/python3.7/site-packages/django/core/handlers/exception.py in inner
response = get_response(request) …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/core/handlers/base.py in _get_response
response = self.process_exception_by_middleware(e, request) …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/core/handlers/base.py in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
./inscription/views.py in registerBase
username = form["lastName"] + "
" + form['firstName'] …
▶ Local vars
/home/cadcours/.local/lib/python3.7/site-packages/django/utils/datastructures.py in getitem
raise MultiValueDictKeyError(key) …
▶ Local vars
Request information

USER
AnonymousUser
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
Variable Value
csrftoken
'ZDcU7MbWDl5gBTBzK6QI6BpFASBbgxHVrVjLEE13nQyfA8NLaP8rvRSMlv6RtHRz'
sessionid
'zdy19y4lopmkfn0ym2nmsq40nlu0vml4'
META
Variable Value
CSRF_COOKIE
'ZDcU7MbWDl5gBTBzK6QI6BpFASBbgxHVrVjLEE13nQyfA8NLaP8rvRSMlv6RtHRz'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8'
HTTP_ACCEPT_ENCODING
'gzip, deflate'
HTTP_ACCEPT_LANGUAGE
'en-us'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
('csrftoken=ZDcU7MbWDl5gBTBzK6QI6BpFASBbgxHVrVjLEE13nQyfA8NLaP8rvRSMlv6RtHRz; '
'sessionid=zdy19y4lopmkfn0ym2nmsq40nlu0vml4')
HTTP_HOST
'cadcours.alwaysdata.net'
HTTP_ORIGIN
'http://cadcours.alwaysdata.net'
HTTP_REFERER
'http://cadcours.alwaysdata.net/inscription/student/'
HTTP_UPGRADE_INSECURE_REQUESTS
'1'
HTTP_USER_AGENT
('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, '
'like Gecko) Version/13.1.1 Safari/605.1.15')
HTTP_VIA
'1.1 alproxy'
HTTP_X_REAL_IP
'94.109.102.22'
PATH_INFO
'/inscription/register/'
QUERY_STRING
''
REMOTE_ADDR
'94.109.102.22'
REQUEST_METHOD
'GET'
REQUEST_URI
'/inscription/register/'
SCRIPT_NAME
''
SERVER_NAME
'http8'
SERVER_PORT
'8100'
SERVER_PROTOCOL
'HTTP/1.1'
uwsgi.node
b'http8'
uwsgi.version
b'2.0.18'
wsgi.errors
<_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.input
<uwsgi._Input object at 0x7fbe1e83cfd8>
wsgi.multiprocess
True
wsgi.multithread
False
wsgi.run_once
False
wsgi.url_scheme
'http'
wsgi.version
(1, 0)
Settings
Using settings module cad.settings
Setting Value
ABSOLUTE_URL_OVERRIDES
{}
ADMINS
(('Minigrimo', '[email protected]'),)
ALLOWED_HOSTS
['cadcours.alwaysdata.net']
APPEND_SLASH
True
AUTHENTICATION_BACKENDS
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS
''
AUTH_USER_MODEL
'auth.User'
BASE_DIR
'/home/cadcours/www/cad'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS
'default'
CACHE_MIDDLEWARE_KEY_PREFIX
'
'
CACHE_MIDDLEWARE_SECONDS
600
CRISPY_TEMPLATE_PACK
'bootstrap4'
CSRF_COOKIE_AGE
31449600
CSRF_COOKIE_DOMAIN
None
CSRF_COOKIE_HTTPONLY
False
CSRF_COOKIE_NAME
'csrftoken'
CSRF_COOKIE_PATH
'/'
CSRF_COOKIE_SAMESITE
'Lax'
CSRF_COOKIE_SECURE
False
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS
[]
CSRF_USE_SESSIONS
False
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'postgresql-cadcours.alwaysdata.net',
'NAME': 'cadcours_db',
'OPTIONS': {},
'PASSWORD': '',
'PORT': '5432',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'cadcours'}}
DATABASE_ROUTERS
[]
DATA_UPLOAD_MAX_MEMORY_SIZE
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS
1000
DATETIME_FORMAT
'N j, Y, P'
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M',
'%m/%d/%y']
DATE_FORMAT
'N j, Y'
DATE_INPUT_FORMATS
['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y']
DEBUG
1
DEBUG_PROPAGATE_EXCEPTIONS
False
DECIMAL_SEPARATOR
'.'
DEFAULT_CHARSET
'utf-8'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
DEFAULT_TABLESPACE
''
DISALLOWED_USER_AGENTS
[]
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST
'smtp.gmail.com'
EMAIL_HOST_PASSWORD
'
'
EMAIL_HOST_USER
'[email protected]'
EMAIL_PORT
'587'
EMAIL_SSL_CERTFILE
None
EMAIL_SSL_KEYFILE
''
EMAIL_SUBJECT_PREFIX
'[Django] '
EMAIL_TIMEOUT
None
EMAIL_USE_LOCALTIME
False
EMAIL_USE_SSL
False
EMAIL_USE_TLS
True
FILE_CHARSET
'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FILE_UPLOAD_PERMISSIONS
420
FILE_UPLOAD_TEMP_DIR
None
FIRST_DAY_OF_WEEK
0
FIXTURE_DIRS
[]
FORCE_SCRIPT_NAME
None
FORMAT_MODULE_PATH
None
FORM_RENDERER
'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS
[]
INSTALLED_APPS
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'default',
'inscription',
'connexion',
'users',
'administration',
'crispy_forms']
INTERNAL_IPS
[]
LANGUAGES
[('af', 'Afrikaans'),
('ar', 'Arabic'),
('ast', 'Asturian'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('be', 'Belarusian'),
('bn', 'Bengali'),
('br', 'Breton'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('dsb', 'Lower Sorbian'),
('el', 'Greek'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('eo', 'Esperanto'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-co', 'Colombian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy', 'Frisian'),
('ga', 'Irish'),
('gd', 'Scottish Gaelic'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hsb', 'Upper Sorbian'),
('hu', 'Hungarian'),
('hy', 'Armenian'),
('ia', 'Interlingua'),
('id', 'Indonesian'),
('io', 'Ido'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('kab', 'Kabyle'),
('kk', 'Kazakh'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lb', 'Luxembourgish'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('mr', 'Marathi'),
('my', 'Burmese'),
('nb', 'Norwegian Bokmål'),
('ne', 'Nepali'),
('nl', 'Dutch'),
('nn', 'Norwegian Nynorsk'),
('os', 'Ossetic'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('sw', 'Swahili'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('tt', 'Tatar'),
('udm', 'Udmurt'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('uz', 'Uzbek'),
('vi', 'Vietnamese'),
('zh-hans', 'Simplified Chinese'),
('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI
['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE
'fr-be'
LANGUAGE_COOKIE_AGE
None
LANGUAGE_COOKIE_DOMAIN
None
LANGUAGE_COOKIE_HTTPONLY
False
LANGUAGE_COOKIE_NAME
'django_language'
LANGUAGE_COOKIE_PATH
'/'
LANGUAGE_COOKIE_SAMESITE
None
LANGUAGE_COOKIE_SECURE
False
LOCALE_PATHS
[]
LOGGING
{}
LOGGING_CONFIG
'logging.config.dictConfig'
LOGIN_REDIRECT_URL
'/accounts/profile/'
LOGIN_URL
'/accounts/login/'
LOGOUT_REDIRECT_URL
None
MANAGERS
[]
MEDIA_ROOT
''
MEDIA_URL
''
MESSAGE_STORAGE
'django.contrib.messages.storage.session.SessionStorage'
MIDDLEWARE
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES
{}
MONTH_DAY_FORMAT
'F j'
NUMBER_GROUPING
0
PASSWORD_HASHERS
'
'
PASSWORD_RESET_TIMEOUT_DAYS
''
PREPEND_WWW
False
ROOT_URLCONF
'cad.urls'
SECRET_KEY
'
'
SECURE_BROWSER_XSS_FILTER
False
SECURE_CONTENT_TYPE_NOSNIFF
True
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SECURE_HSTS_PRELOAD
False
SECURE_HSTS_SECONDS
0
SECURE_PROXY_SSL_HEADER
None
SECURE_REDIRECT_EXEMPT
[]
SECURE_REFERRER_POLICY
None
SECURE_SSL_HOST
None
SECURE_SSL_REDIRECT
False
SERVER_EMAIL
'root@localhost'
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_AGE
1209600
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_HTTPONLY
True
SESSION_COOKIE_NAME
'sessionid'
SESSION_COOKIE_PATH
'/'
SESSION_COOKIE_SAMESITE
'Lax'
SESSION_COOKIE_SECURE
False
SESSION_ENGINE
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
SESSION_FILE_PATH
None
SESSION_SAVE_EVERY_REQUEST
False
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE
'cad.settings'
SHORT_DATETIME_FORMAT
'm/d/Y P'
SHORT_DATE_FORMAT
'm/d/Y'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS
[]
STATICFILES_DIRS
('cad/assets/',)
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT
'/home/cadcours/www/cad/static/'
STATIC_URL
'/static/'
TEMPLATES
[{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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']}}]
TEST_NON_SERIALIZED_APPS
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR
','
TIME_FORMAT
'P'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE
'Europe/Brussels'
USE_I18N
True
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
USE_TZ
True
USE_X_FORWARDED_HOST
False
USE_X_FORWARDED_PORT
False
WSGI_APPLICATION
'cad.wsgi.application'
X_FRAME_OPTIONS
'DENY'
YEAR_MONTH_FORMAT
'F Y'
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

erreur 500

l'erreur apparaît lorsque le coach utilise le formulaire de contact et qu'il clique sur envoyer.

grand père

Quand un élève est connecté sur son compte, il a la possibilité de s'inscrire en cliquant sur "prendre cours".
Ca me semble paradoxal, qu'on puisse s'inscrire alors qu'on est déjà inscrit et je me demande si ça ne risque pas de créer des bugs. J'ai l'impression de tomber dans le paradoxe du grand père LOL

création d'un cours

Comment l'admin peut lancer un cours sans qu'il y ait eu de requête via le site?
Je pense à une famille qui aurait demandé de prendre cours en nous téléphonant.

oubli

Quid en cas d'oubli du mot de passe? Comment une famille pourrait le récupérer?

bouton “postuler en ligne”

Le bouton est facilement lisible sur certains appareils/navigateurs mais pas sur tous. Sur Safari en version desktop, on a des lettres blanches sur fond gris clair, ce qui est peu lisible.

image

Suppression de comptes

Comment un administrateur peut supprimer un compte étudiant ou un compte coach sans l'intervention de l'étudiant et du coach?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.