每当用户在我的仪表板的侧边栏中选择一个团队时,相应的team_id就分配给一个变量(可以工作)。现在,我希望仪表板通过API获取所选团队的新仪表板数据,从而相应地进行更新(这同样有效,但不适用于指定的team_id)。
我遇到的问题是如何为API请求使用指定的变量team_id。
应用程序构建在Django上,因此我使用视图函数来获取API数据。
现在的关键问题是,如何为API请求使用team_id变量来返回正确的数据(用js变量替换下面示例中的id '72‘)?
此外,除了呈现前端的视图函数之外,我还需要为Ajax使用一个成功的函数吗?
到目前为止,这是我的代码:
views.py
def team_update(request):
team_id = request.GET.get('team')
response = requests.get(f'http://www.api-football.com/demo/api/v2/teams/team/{team_id}')
team_data = response.json()
teams = team_data.get('api', {}).get('teams', [])
if teams and len(teams) == 1:
teams = teams[0]
return render(request, 'index.html', {
'name': teams['name'],
'country': teams['country'],
'founded': teams['founded'],
'logo': teams['logo'],
'venue_capacity': teams['venue_capacity'],
})
js
$('ul.subbar li a').on('click', function(e) { // Start function when user clicks on a team in the navbar
e.preventDefault(); // Stop loading new link
var team_id = $(this).attr("id"); // Assign id of clicked team name to variable 'team_id'
console.log(team_id); // test
$.ajax({ // initialize AJAX POST with the stated attributes
method: "GET",
url: "/dashboard/",
data: {team: team_id},
data_type: "json",
success: function(team) {
}
});
});
控制台错误
69
jquery.min.js:2 POST http://127.0.0.1:8000/dashboard 500 (Internal Server Error)
send @ jquery.min.js:2
ajax @ jquery.min.js:2
(anonymous) @ dashboard.js:7
dispatch @ jquery.min.js:2
v.handle @ jquery.min.js:2
网络响应
RuntimeError at /dashboard
You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/dashboard/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
Request Method: POST
Request URL: http://127.0.0.1:8000/dashboard
Django Version: 2.2.5
Python Executable: C:\Users\JONASB~1\Envs\DASOCC~1\Scripts\python.exe
Python Version: 3.7.4
Python Path: ['C:\\Users\\Jonas Blickle\\Desktop\\dasocc\\dasocc_site', 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1\\Scripts\\python37.zip', 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1\\DLLs', 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1\\lib', 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1\\Scripts', 'c:\\users\\jonas blickle\\appdata\\local\\programs\\python\\python37-32\\Lib', 'c:\\users\\jonas blickle\\appdata\\local\\programs\\python\\python37-32\\DLLs', 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1', 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1\\lib\\site-packages']
Server time: Wed, 2 Oct 2019 08:31:12 -0500
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dasocc_app',
'dasocc_blog',
'dasocc_about']
Installed 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']
Traceback:
File "C:\Users\JONASB~1\Envs\DASOCC~1\lib\site-packages\django\core\handlers\exception.py" in inner
34. response = get_response(request)
File "C:\Users\JONASB~1\Envs\DASOCC~1\lib\site-packages\django\utils\deprecation.py" in __call__
93. response = self.process_request(request)
File "C:\Users\JONASB~1\Envs\DASOCC~1\lib\site-packages\django\middleware\common.py" in process_request
53. path = self.get_full_path_with_slash(request)
File "C:\Users\JONASB~1\Envs\DASOCC~1\lib\site-packages\django\middleware\common.py" in get_full_path_with_slash
93. 'url': request.get_host() + new_path,
Exception Type: RuntimeError at /dashboard
Exception Value: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/dashboard/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
Request information:
USER: [unable to retrieve the current user]
GET: No GET data
POST:
team = '69'
FILES: No FILES data
COOKIES:
csrftoken = 'KusolJDHU9B2fcFpNKvrrv3Ggdhxpps9P9jdzJNbQaFPR3n2bnAuUT67XJvXEosV'
META:
ALLUSERSPROFILE = 'C:\\ProgramData'
APPDATA = 'C:\\Users\\Jonas\\AppData\\Roaming'
ASL.LOG = 'Destination=file'
COMMONPROGRAMFILES = 'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMFILES(X86) = 'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMW6432 = 'C:\\Program Files\\Common Files'
COMPUTERNAME = 'JONASBLICKLE'
COMSPEC = 'C:\\Windows\\system32\\cmd.exe'
CONTENT_LENGTH = '7'
CONTENT_TYPE = 'application/x-www-form-urlencoded; charset=UTF-8'
DJANGO_SETTINGS_MODULE = 'dasocc_site.settings'
FP_NO_HOST_CHECK = 'NO'
GATEWAY_INTERFACE = 'CGI/1.1'
HOMEDRIVE = 'C:'
HOMEPATH = '\\Users\\Jonas Blickle'
HTTP_ACCEPT = '*/*'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7'
HTTP_CACHE_CONTROL = 'no-cache'
HTTP_CONNECTION = 'keep-alive'
HTTP_COOKIE = 'csrftoken=KusolJDHU9B2fcFpNKvrrv3Ggdhxpps9P9jdzJNbQaFPR3n2bnAuUT67XJvXEosV'
HTTP_HOST = '127.0.0.1:8000'
HTTP_ORIGIN = 'http://127.0.0.1:8000'
HTTP_PRAGMA = 'no-cache'
HTTP_REFERER = 'http://127.0.0.1:8000/dashboard/'
HTTP_SEC_FETCH_MODE = 'cors'
HTTP_SEC_FETCH_SITE = 'same-origin'
HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
LOCALAPPDATA = 'C:\\Users\\Jonas\\AppData\\Local'
LOGONSERVER = '\\\\JONAS'
NUMBER_OF_PROCESSORS = '4'
ONEDRIVE = 'C:\\Users\\Jonas\\OneDrive'
OS = 'Windows_NT'
PATH = 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1\\Scripts;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Program Files\\Git\\cmd;C:\\Users\\Jonas Blickle\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts\\;C:\\Users\\Jonas Blickle\\AppData\\Local\\Programs\\Python\\Python37-32\\;C:\\Program Files\\heroku\\bin;C:\\Users\\Jonas Blickle\\AppData\\Local\\atom\\bin'
PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
PATH_INFO = '/dashboard'
PROCESSOR_ARCHITECTURE = 'x86'
PROCESSOR_ARCHITEW6432 = 'AMD64'
PROCESSOR_IDENTIFIER = 'Intel64 Family 6 Model 58 Stepping 9, GenuineIntel'
PROCESSOR_LEVEL = '6'
PROCESSOR_REVISION = '3a09'
PROGRAMDATA = 'C:\\ProgramData'
PROGRAMFILES = 'C:\\Program Files (x86)'
PROGRAMFILES(X86) = 'C:\\Program Files (x86)'
PROGRAMW6432 = 'C:\\Program Files'
PROMPT = '(DASOCC~1) $P$G'
PSMODULEPATH = 'C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\'
PUBLIC = 'C:\\Users\\Public'
QUERY_STRING = ''
REMOTE_ADDR = '127.0.0.1'
REMOTE_HOST = ''
REQUEST_METHOD = 'POST'
RUN_MAIN = 'true'
SCRIPT_NAME = ''
SERVER_NAME = 'Jonas'
SERVER_PORT = '8000'
SERVER_PROTOCOL = 'HTTP/1.1'
SERVER_SOFTWARE = 'WSGIServer/0.2'
SESSIONNAME = 'Console'
SYSTEMDRIVE = 'C:'
SYSTEMROOT = 'C:\\Windows'
TEMP = 'C:\\Users\\JONASB~1\\AppData\\Local\\Temp'
TMP = 'C:\\Users\\JONASB~1\\AppData\\Local\\Temp'
VENV = 'dasocc_env'
VIRTUALENVWRAPPER_PROJECT_FILENAME = '.project'
VIRTUAL_ENV = 'C:\\Users\\JONASB~1\\Envs\\DASOCC~1'
WINDIR = 'C:\\Windows'
WORKON_HOME = 'C:\\Users\\Jonas\\Envs'
_OLD_VIRTUAL_PATH = 'C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\Program Files\\Git\\cmd;C:\\Users\\Jonas Blickle\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts\\;C:\\Users\\Jonas Blickle\\AppData\\Local\\Programs\\Python\\Python37-32\\;C:\\Program Files\\heroku\\bin;C:\\Users\\Jonas\\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 0x04879610>
wsgi.multiprocess = False
wsgi.multithread = True
wsgi.run_once = False
wsgi.url_scheme = 'http'
wsgi.version = '(1, 0)'
Settings:
Using settings module dasocc_site.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = []
ALLOWED_HOSTS = ['127.0.0.1']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = 'C:\\Users\\Jonas\\Desktop\\dasocc\\dasocc_site'
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 = {}
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', 'dasocc_app', 'dasocc_blog', 'dasocc_about']
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 = 'dasocc_site.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 = 'dasocc_site.settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = ['admin.E408', 'admin.E409', 'admin.E410']
STATICFILES_DIRS = []
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = 'C:\\Users\\Jonas\\Desktop\\dasocc\\dasocc_site\\static/'
STATIC_URL = '/static/'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/DASOCC_SITE/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']}}]
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 = 'America/Chicago'
USE_I18N = True
USE_L10N = False
USE_THOUSAND_SEPARATOR = False
USE_TZ = False
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = None
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.
我试图用变量team_id替换API中的id,但这是行不通的。我想我必须告诉视图函数,首先有一个名为team_id的变量?
谢谢你的投入。
发布于 2019-10-02 06:21:46
您必须通过ajax获得要发送的team_id
,并插入查询字符串
team_id = request.POST.get('team')
response = requests.get(f'http://www.api-football.com/demo/api/v2/teams/team/{team_id}')
向ajax查询url添加斜杠:
url: "/dashboard/", # note slash added on the end
关于你的进一步问题。是的,您必须使用success
回调来更新DOM/组件状态等。您可以通过以下方式检查响应
success: function(response) { console.log(response) }
发布于 2019-10-02 06:54:59
你为什么要使用邮政请求?你需要得到请求。此外,建议您始终使用url名称以避免此类错误。
https://stackoverflow.com/questions/58196096
复制相似问题