TypeError at /login/home/ || argument 1 must be a string or unicode object
Мое приложение пытается подключиться к существующему серверу Microsoft SQL и распечатать набор переменных из базы данных (Sage 200)
Когда приложение переходит на главную страницу (где должны быть выведены данные), оно выдает вышеупомянутое сообщение об ошибке.
Вот ошибка более подробно:
TypeError at /login/home/
argument 1 must be a string or unicode object
Request Method: GET
Request URL: http://localhost:8000/login/home/
Django Version: 3.2
Exception Type: TypeError
Exception Value:
argument 1 must be a string or unicode object
Exception Location: C:\Users\KylePOG\Documents\GMA Programming\accConnect\main\views.py, line 17, in home
Python Executable: C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\python.exe
Python Version: 3.9.4
Python Path:
['C:\\Users\\KylePOG\\Documents\\GMA Programming\\accConnect',
'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip',
'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\DLLs',
'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\lib',
'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39',
'C:\\Users\\KylePOG\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages']
Server time: Mon, 23 Aug 2021 06:24:37 +0000
Traceback Switch to copy-and-paste view
C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py, line 47, in inner
response = get_response(request) …
▶ Local vars
C:\Users\KylePOG\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py, line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
C:\Users\KylePOG\Documents\GMA Programming\accConnect\main\views.py, line 17, in home
'UID=[UID] ;'
'PWD=[PWD];')
def home(request):
query = "SELECT top 10 * FROM [[DBNAME]].[dbo].[_etblGLAccountTypes]"
conx = pyodbc.connect(cnxn) …
cursor = conx.cursor();
cursor.execute(query);
data = cursor.fetchall()
return render(request , 'main/home.html' , {"data":data})
▶ Local vars
Код, который он пытается выполнить на вкладке views, выглядит следующим образом:
from django.shortcuts import render
import pyodbc
driver= '{SQL Server Native Client 11.0}'
cnxn = pyodbc.connect('DRIVER={SQL Server};'
'SERVER=[SERVER];'
'PORT=[PORT];'
'DATABASE=[DBNAME];'
'UID=[UID] ;'
'PWD=[PWD];')
def home(request):
query = "SELECT top 10 * FROM [[DBNAME]].[dbo].[_etblGLAccountTypes]"
conx = pyodbc.connect(cnxn)
cursor = conx.cursor();
cursor.execute(query);
data = cursor.fetchall()
return render(request , 'main/home.html' , {"data":data})
Я довольно новичок в использовании существующей базы данных для проектов Django, поэтому если у кого-то есть примеры или причины, почему это происходит, пожалуйста, помогите.