从mysql获取行并使用Django以html显示

时间:2018-10-19 10:11:29

标签: mysql django

我是Django的新手。我想知道如何从mysql获取行并将其放入views.py中并将其发送到将在其中显示的html。

我的views.py:

def fetchDate1(request):
    query = request.session.get('query')
    date1 = request.session.get('date1');
    db = pymysql.connect(host="localhost",  # your host
                         user="root",  # username
                         passwd="=",  # password
                         db="Golden")  # name of the database

    # Create a Cursor object to execute queries.
    cur = db.cursor()

    # Select data from table using SQL query.
    stmt = "SELECT * FROM golden_response WHERE query LIKE '%s' AND DATE(updated_at) = '%s' " % (
    query.replace("'", r"\'"), date1)
    cur.execute(stmt)
    if cur.rowcount is None:
        return None
    else:
        rows = cur.fetchall()
        row_headers = [x[0] for x in cur.description]  # this will extract row headers
        json_data = []
        for result in rows:
            json_data.append(dict(zip(row_headers, result)))
        return json.dumps(json_data)

我不知道我要去哪里。还已将所需的配置保存在settings.py中。 但是,当我尝试运行程序时:

ProgrammingError:(1146,“表'Golden.django_session'不存在”)

请帮助!

1 个答案:

答案 0 :(得分:0)

我敢于假设您尚未进行第一次迁移。

python manage.py makemigrations
python manage.py migrate

此外,您应该像这样检查settings.py中的数据库连接参数:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'db_name',
    'USER': 'db_user',
    'PASSWORD': 'db_user_password',
    'HOST': 'db_server',
    'PORT': '3306',
}

}