/registerdoctor.html处的FieldError无法将关键字“email”解析为字段。选项包括:体验、id、电话号码、用户、用户id

2024-10-01 00:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个“医生”模型,它与Django的内置“用户”模型有一个one关系

出于某种原因,医生模型没有从用户那里继承email对象,或者至少我是这么认为的

有人能告诉我哪里错了吗? 谢谢

视图.py

from django.shortcuts import render,redirect
from django.contrib.auth.models import User,auth
from django.contrib import messages
from app1.models import Doctor
def HomePage(request):
    return render(request,'homepage.html')

def RegisterUser(request):
    if request.method =="POST":
        first_name = request.POST["fname"]
        last_name = request.POST["lname"]
        email_id = request.POST["mail"]
        password1 = request.POST["pass1"]
        password2 = request.POST["pass2"]
        username = request.POST["username"]

        if password1==password2:
            if User.objects.filter(email=email_id).exists():
                messages.info(request,"This Email ID is already Registered!")
                return redirect("registeruser.html")
            else:
                if User.objects.filter(username=username).exists():
                    messages.info(request,"Username taken!")
                    return redirect("registeruser.html")
                else:
                    user = User.objects.create_user(first_name=first_name,last_name=last_name,
                                                    email=email_id,password=password1,username=username)
                    user.save()
                    return redirect("/")
        else:
            messages.info(request,"Passwords Not Matching!")
            return redirect("registeruser.html")
        return redirect("/")

    else:
        return render(request,'registeruser.html')


def RegisterDoctor(request):
    if request.method =="POST":
        first_name = request.POST.get("finame")
        last_name = request.POST.get("laname")
        email = request.POST.get("emailid")
        password1 = request.POST.get("userpassword")
        password2 = request.POST.get("conpassword")
        username = request.POST.get("username")
        phone_no = request.POST.get("phno")
        exp = request.POST.get("docexp")

        if password1==password2:
            if Doctor.objects.filter(email=email).exists():
                messages.info(request,"This Email ID is already Registered!")
                return redirect("registerdoctor.html")
            else:
                if Doctor.objects.filter(username=username).exists():
                    messages.info(request,"Username taken!")
                    return redirect("registerdoctor.html")
                else:
                    user = Doctor.objects.create_user(first_name=first_name,last_name=last_name,
                                                    email=email_id,password=password1,username=username,experience=exp,phone_no=phone_no)
                    user.save()
                    return redirect("/")
        else:
            messages.info(request,"Passwords Not Matching!")
            return redirect("registerdoctor.html")
        return redirect("/")

    else:
        return render(request,'registerdoctor.html')

型号.py

from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class Doctor(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    phone_no = models.IntegerField()
    experience = models.IntegerField()

registerdoctor.html

{% extends 'base.html' %}

{% block content%}

{% load staticfiles %}
<link rel="stylesheet" href="{% static 'app1/doctor_signup.css' %}">
<br>
  <div class="center-it">
  <h4 class="display-4"> Doctor's Sign Up Page: <h4>
    <br>
    <br>
<form method="POST">
  {% csrf_token %}
  <label for="finame">
  <input type="text" align = "center" id = "fname" name="" placeholder=" First Name " required>
  </label>
  <br>
  <label for="laname">
  <input type="text" align ="center"  id ="lname" name="" placeholder=" Last Name" required>
  </label>
  <br>
  <label for="emailid">
    <input id="emailid" align="center" type="email" name="" placeholder=" Email address" required></br>
  </label>
  <br>
  <label for="username">
  <input type="text" id="username" name="username" placeholder="Username" required>
  </label>
  <br>
  <label for="phno">
    <input id ="phno" type="tel" name="" placeholder=" Phone No">
  </label>
  <br>
  <label align ="centre">
  Years of Experience in  Psychology
  <select name="Years" id="doc_exp" required>
    <option value="Experienced">10+</option>
    <option value="Amateur">5+</option>
    <option value="Beginner">2+</option>
  </select>
</label>
<br>
  <label for="userpassword">
  <input type="password" id ="userpassword" name="" placeholder=" Password" required></br>
</label>
  <br>
  <label for="conpassword">
  <input type="password" id = "conpassword" name="" placeholder=" Confirm Password" required>
  </label>
  <hr class="my-4">

  <input type="Submit" value="Sign Up">
    <div class="error">
      {% for message in messages %}
      <h3>{{message}}</h3>
      {% endfor %}
    </div>
  </form>
  </div>
  {% endblock %}

url.py

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path("",views.HomePage),
    path("registeruser.html",views.RegisterUser),
    path("registerdoctor.html",views.RegisterDoctor),
]

错误

FieldError at /registerdoctor.html
Cannot resolve keyword 'email' into field. Choices are: experience, id, phone_no, user, user_id
Request Method: POST
Request URL:    http://127.0.0.1:8000/registerdoctor.html
Django Version: 2.2.6
Exception Type: FieldError
Exception Value:    
Cannot resolve keyword 'email' into field. Choices are: experience, id, phone_no, user, user_id
Exception Location: D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in names_to_path, line 1420
Python Executable:  D:\Pycharm Projects\Django Course\MyEnv\Scripts\python.exe
Python Version: 3.7.4
Python Path:    
['C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32',
 'D:\\Pycharm Projects\\Django Course\\MyEnv',
 'D:\\Pycharm Projects\\Django Course\\MyEnv\\lib\\site-packages']
Server time:    Mon, 28 Oct 2019 17:38:05 +0000
Traceback Switch to copy-and-paste view
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\core\handlers\exception.py in inner
            response = get_response(request) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\core\handlers\base.py in _get_response
                response = self.process_exception_by_middleware(e, request) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\core\handlers\base.py in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
C:\Users\anwes\OneDrive\Desktop\Zen Django\Zen\Zen\views.py in RegisterDoctor
            if Doctor.objects.filter(email=email).exists(): …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\manager.py in manager_method
                return getattr(self.get_queryset(), name)(*args, **kwargs) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\query.py in filter
        return self._filter_or_exclude(False, *args, **kwargs) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\query.py in _filter_or_exclude
            clone.query.add_q(Q(*args, **kwargs)) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in add_q
        clause, _ = self._add_q(q_object, self.used_aliases) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in _add_q
                    split_subq=split_subq, simple_col=simple_col, …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in build_filter
        lookups, parts, reffed_expression = self.solve_lookup_type(arg) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in solve_lookup_type
        _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in names_to_path
                                     "Choices are: %s" % (name, ", ".join(available))) …
▶ Local vars
Request information
USER
superuser

GET
No GET data

POST
Variable    Value
csrfmiddlewaretoken 
'zesEXCXAGv4J5cdNl7ZBIqvDvwNAK4g1dIOz96ZG3PbI5euxjjt8NC5BsSYfvwcu'
username    
'anwesh'
Years   
'Experienced'
FILES
No FILES data

COOKIES
Variable    Value
csrftoken   
'27fl4mnog4jninj5jAfpKqe8WKHGJ3IQGBBggQpuDoqmipAPhMJWPCO6T6SluvEj'
sessionid   
'4z1ldfw1skceivbo5592bhsh988hy6di'
META
Variable    Value
ALLUSERSPROFILE 
'C:\\ProgramData'
APPDATA 
'C:\\Users\\anwes\\AppData\\Roaming'
COMMONPROGRAMFILES  
'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMFILES(X86) 
'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMW6432  
'C:\\Program Files\\Common Files'
COMPUTERNAME    
'LAPTOP-619IKVRA'
COMSPEC 
'C:\\WINDOWS\\system32\\cmd.exe'
CONTENT_LENGTH  
'118'
CONTENT_TYPE    
'application/x-www-form-urlencoded'
CSRF_COOKIE 
'27fl4mnog4jninj5jAfpKqe8WKHGJ3IQGBBggQpuDoqmipAPhMJWPCO6T6SluvEj'
DJANGO_SETTINGS_MODULE  
'Zen.settings'
DRIVERDATA  
'C:\\Windows\\System32\\Drivers\\DriverData'
FPS_BROWSER_APP_PROFILE_STRING  
'Internet Explorer'
FPS_BROWSER_USER_PROFILE_STRING 
'Default'
GATEWAY_INTERFACE   
'CGI/1.1'
HOMEDRIVE   
'C:'
HOMEPATH    
'\\Users\\anwes'
HTTP_ACCEPT 
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3'
HTTP_ACCEPT_ENCODING    
'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE    
'en-GB,en-US;q=0.9,en;q=0.8'
HTTP_CACHE_CONTROL  
'max-age=0'
HTTP_CONNECTION 
'keep-alive'
HTTP_COOKIE 
('csrftoken=27fl4mnog4jninj5jAfpKqe8WKHGJ3IQGBBggQpuDoqmipAPhMJWPCO6T6SluvEj; '
 'sessionid=4z1ldfw1skceivbo5592bhsh988hy6di')
HTTP_HOST   
'127.0.0.1:8000'
HTTP_ORIGIN 
'http://127.0.0.1:8000'
HTTP_REFERER    
'http://127.0.0.1:8000/registerdoctor.html'
HTTP_SEC_FETCH_MODE 
'navigate'
HTTP_SEC_FETCH_SITE 
'same-origin'
HTTP_SEC_FETCH_USER 
'?1'
HTTP_UPGRADE_INSECURE_REQUESTS  
'1'
HTTP_USER_AGENT 
('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
 'Gecko) Chrome/78.0.3904.70 Safari/537.36')
LOCALAPPDATA    
'C:\\Users\\anwes\\AppData\\Local'
LOGONSERVER 
'\\\\LAPTOP-619IKVRA'
NUMBER_OF_PROCESSORS    
'8'
ONEDRIVE    
'C:\\Users\\anwes\\OneDrive'
ONEDRIVECONSUMER    
'C:\\Users\\anwes\\OneDrive'
OS  
'Windows_NT'
PATH    
('D:\\Pycharm Projects\\Django '
 'Course\\MyEnv\\Scripts;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program '
 'Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program '
 'Files\\Intel\\Intel(R) Management Engine '
 'Components\\DAL;%PYTHON3_SCRIPTS%;C:\\Program '
 'Files\\Git\\cmd;C:\\Users\\anwes\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\anwes\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts;C:\\Users\\anwes\\AppData\\Local\\Programs\\Microsoft '
 'VS Code\\bin;C:\\Users\\anwes\\AppData\\Local\\atom\\bin')
PATHEXT 
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
PATH_INFO   
'/registerdoctor.html'
PROCESSOR_ARCHITECTURE  
'x86'
PROCESSOR_ARCHITEW6432  
'AMD64'
PROCESSOR_IDENTIFIER    
'Intel64 Family 6 Model 158 Stepping 10, GenuineIntel'
PROCESSOR_LEVEL 
'6'
PROCESSOR_REVISION  
'9e0a'
PROGRAMDATA 
'C:\\ProgramData'
PROGRAMFILES    
'C:\\Program Files (x86)'
PROGRAMFILES(X86)   
'C:\\Program Files (x86)'
PROGRAMW6432    
'C:\\Program Files'
PROMPT  
'(MyEnv) $P$G'
PSMODULEPATH    
('C:\\Program '
 'Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules')
PUBLIC  
'C:\\Users\\Public'
PYTHON_SCRIPTS  
'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts'
QUERY_STRING    
''
REMOTE_ADDR 
'127.0.0.1'
REMOTE_HOST 
''
REQUEST_METHOD  
'POST'
RUN_MAIN    
'true'
SCRIPT_NAME 
''
SERVER_NAME 
'LAPTOP-619IKVRA'
SERVER_PORT 
'8000'
SERVER_PROTOCOL 
'HTTP/1.1'
SERVER_SOFTWARE 
'WSGIServer/0.2'
SESSIONNAME 
'Console'
SYSTEMDRIVE 
'C:'
SYSTEMROOT  
'C:\\WINDOWS'
TEMP    
'C:\\Users\\anwes\\AppData\\Local\\Temp'
TMP 
'C:\\Users\\anwes\\AppData\\Local\\Temp'
USERDOMAIN  
'LAPTOP-619IKVRA'
USERDOMAIN_ROAMINGPROFILE   
'LAPTOP-619IKVRA'
USERNAME    
'anwes'
USERPROFILE 
'C:\\Users\\anwes'
VIRTUAL_ENV 
'D:\\Pycharm Projects\\Django Course\\MyEnv'
WINDIR  
'C:\\WINDOWS'
_OLD_VIRTUAL_PATH   
('C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program '
 'Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program '
 'Files\\Intel\\Intel(R) Management Engine '
 'Components\\DAL;%PYTHON3_SCRIPTS%;C:\\Program '
 'Files\\Git\\cmd;C:\\Users\\anwes\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\anwes\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts;C:\\Users\\anwes\\AppData\\Local\\Programs\\Microsoft '
 'VS Code\\bin;C:\\Users\\anwes\\AppData\\Local\\atom\\bin')
_OLD_VIRTUAL_PROMPT 
'$P$G'
wsgi.errors 
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
wsgi.file_wrapper   
''
wsgi.input  
<django.core.handlers.wsgi.LimitedStream object at 0x041F9B30>
wsgi.multiprocess   
False
wsgi.multithread    
True
wsgi.run_once   
False
wsgi.url_scheme 
'http'
wsgi.version    
(1, 0)
Settings
Using settings module Zen.settings
Setting Value
ABSOLUTE_URL_OVERRIDES  
{}
ADMINS  
[]
ALLOWED_HOSTS   
[]
APPEND_SLASH    
True
AUTHENTICATION_BACKENDS 
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS    
'********************'
AUTH_USER_MODEL 
'auth.User'
BASE_DIR    
'C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen'
CACHES  
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS  
'default'
CACHE_MIDDLEWARE_KEY_PREFIX 
'********************'
CACHE_MIDDLEWARE_SECONDS    
600
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.sqlite3',
             'HOST': '',
             'NAME': 'C:\\Users\\anwes\\OneDrive\\Desktop\\Zen '
                     'Django\\Zen\\db.sqlite3',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': ''}}
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   
True
DEBUG_PROPAGATE_EXCEPTIONS  
False
DECIMAL_SEPARATOR   
'.'
DEFAULT_CHARSET 
'utf-8'
DEFAULT_CONTENT_TYPE    
'text/html'
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  
'localhost'
EMAIL_HOST_PASSWORD 
'********************'
EMAIL_HOST_USER 
''
EMAIL_PORT  
25
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   
False
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 
None
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',
 'app1']
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'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI  
['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE   
'en-us'
LANGUAGE_COOKIE_AGE 
None
LANGUAGE_COOKIE_DOMAIN  
None
LANGUAGE_COOKIE_NAME    
'django_language'
LANGUAGE_COOKIE_PATH    
'/'
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.fallback.FallbackStorage'
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    
'Zen.urls'
SECRET_KEY  
'********************'
SECURE_BROWSER_XSS_FILTER   
False
SECURE_CONTENT_TYPE_NOSNIFF 
False
SECURE_HSTS_INCLUDE_SUBDOMAINS  
False
SECURE_HSTS_PRELOAD 
False
SECURE_HSTS_SECONDS 
0
SECURE_PROXY_SSL_HEADER 
None
SECURE_REDIRECT_EXEMPT  
[]
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 
'Zen.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    
['C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen\\static']
STATICFILES_FINDERS 
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE 
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT 
None
STATIC_URL  
'/static/'
TEMPLATES   
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen\\templates'],
  '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']}}]
TEMPLATE_DIR    
'C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen\\templates'
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   
'UTC'
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    
'Zen.wsgi.application'
X_FRAME_OPTIONS 
'SAMEORIGIN'
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.

Tags: djangonamenonefalsemodelscookierequestlocal
2条回答

出现此错误的原因是,您没有继承用户模型,而是与用户模型保持一对一的关系

如果希望在医生模型中继承用户模型的变量,则应在医生模型中继承AbstractUser模型,如下所示:

from django.db import models 
from django.contrib.auth.models import AbstractUser 
# Create your models here. 
class Doctor(AbstractUser): 
    phone_no = models.IntegerField()
    experience = models.IntegerField()

您需要这样做:

user = User.objects.create_user(first_name=first_name, last_name=last_name,  email=email_id, password=password1, username=username)
doctor = Docter.objects.create(experience=exp, phone_no=phone_no, user=user)

因此,您需要先生成User,然后再生成Doctor,并将其链接到User

编辑:要回答您的问题,这两行应该替换RegisterDoctor中的这些行。顺便说一下,我认为视图的名称应该是小写的,因为它们是方法:

user = Doctor.objects.create_user(first_name=first_name,last_name=last_name,email=email_id,password=password1,username=username,experience=exp,phone_no=phone_no)
user.save()

相关问题 更多 >