gpt4 book ai didi

python - 为什么我的 Django SessionWizardView 调查应用程序数据没有以可用格式显示在我的 MySQL 数据库中?

转载 作者:行者123 更新时间:2023-11-29 00:00:22 25 4
gpt4 key购买 nike

我使用 Django 1.6.2 SessionWizardView 构建了一个多页调查应用程序但是我对如何将通过调查表提交的数据保存在我的 MySQL 数据库 django_db 中遇到一些麻烦。那就是我根本不认识或不理解正在保存的是什么。这是我第一次构建这样的应用程序,甚至是使用数据库,所以请原谅我的无知。

我的问题是,当我通过 phpMyAdmin 查看我的数据库时,无法识别出来 self 的应用程序的任何内容,所以我不知道从哪里开始。

我相信我的 SessionWizardView 中的数据应该存储在 django_session 表中,但是当我检查它时,它看起来像是乱码。

enter image description here

这是 session_data 的副本 - 这就是我要查看的内容吗?

ZTEwNWUzZmI4NjA5MmQ3Nzk2MDQ1MWY3YzE2MjYxZWZjNDJmODQ3Yjp7ImVpZ2h0X2ltYWdlIjoiUDFEOS5qcGciLCJwYXRoX3R3b19pbWFnZXMiOltdLCJwYXRoX29uZV9pbWFnZXMiOltdLCJ0aGlyZF9pbWFnZSI6IlA5RDguanBnIiwiaW1hZ2VzIjpbXSwid2l6YXJkX3N1cnZleV93aXphcmRfb25lIjp7InN0ZXBfZmlsZXMiOnt9LCJzdGVwIjpudWxsLCJleHRyYV9kYXRhIjp7fSwic3RlcF9kYXRhIjp7fX0sInNpeHRoX2ltYWdlIjoiUDVENC5qcGciLCJmb3VydGhfaW1hZ2UiOiJQNEQzLmpwZyIsImZpZnRoX2ltYWdlIjoiUDJEMS5qcGciLCJ3aXphcmRfc3VydmV5X3dpemFyZF90d28iOnsic3RlcF9maWxlcyI6e30sInN0ZXAiOm51bGwsImV4dHJhX2RhdGEiOnt9LCJzdGVwX2RhdGEiOnt9fSwicGF0aF90aHJlZV9pbWFnZXMiOlsiUDNEMS5qcGciLCJQNEQyLmpwZyIsIlA1RDMuanBnIiwiUDZENC5qcGciLCJQN0Q1LmpwZyIsIlA4RDYuanBnIiwiUDlENy5qcGciLCJQMUQ4LmpwZyIsIlAyRDkuanBnIl0sImluc3RydWN0aW9uX3Rhc2tfb25lX2ltYWdlcyI6WyJJVDFBLmpwZyIsIklUMUIuanBnIiwiSVQxQy5qcGciXSwiZmlyc3RfaW1hZ2UiOiJQNkQ1LmpwZyIsInNlY29uZF9pbWFnZSI6IlA4RDcuanBnIiwic2V2ZW50aF9pbWFnZSI6IlAzRDIuanBnIiwic2xpZGVyX0RWX3ZhbHVlcyI6W10sImluc3RydWN0aW9uX3Rhc2tfdHdvX2ltYWdlcyI6WyJJVDJBLmpwZyIsIklUMkIuanBnIiwiSVQyQy5qcGciXSwibmludGhfaW1hZ2UiOiJQN0Q2LmpwZyIsIndpemFyZF9zdXJ2ZXlfd2l6YXJkX3RocmVlIjp7InN0ZXBfZmlsZXMiOnsiMSI6e30sIjAiOnt9LCIyIjp7fX0sInN0ZXAiOiIzIiwiZXh0cmFfZGF0YSI6e30sInN0ZXBfZGF0YSI6eyIxIjp7IjEtbm90aGluZyI6WyIiXSwic2xpZGVyX3ZhbHVlIjpbIisxMDAiXSwiY3NyZm1pZGRsZXdhcmV0b2tlbiI6WyIwblNZWTFuZkZ6QzdBb0R0UFlwZkpyc1NySGhGRWhONyJdLCJzdWJtaXQiOlsiTmV4dCJdLCJzdXJ2ZXlfd2l6YXJkX3RocmVlLWN1cnJlbnRfc3RlcCI6WyIxIl19LCIwIjp7IjAtbm90aGluZyI6WyIiXSwiY3NyZm1pZGRsZXdhcmV0b2tlbiI6WyIwblNZWTFuZkZ6QzdBb0R0UFlwZkpyc1NySGhGRWhONyJdLCJzdXJ2ZXlfd2l6YXJkX3RocmVlLWN1cnJlbnRfc3RlcCI6WyIwIl0sInN1Ym1pdCI6WyJOZXh0Il0sInNsaWRlcl92YWx1ZSI6WyIrMTAwIl19LCIyIjp7ImNzcmZtaWRkbGV3YXJldG9rZW4iOlsiMG5TWVkxbmZGekM3QW9EdFBZcGZKcnNTckhoRkVoTjciXSwiMi1ub3RoaW5nIjpbIiJdLCJzdXJ2ZXlfd2l6YXJkX3RocmVlLWN1cnJlbnRfc3RlcCI6WyIyIl0sInN1Ym1pdCI6WyJOZXh0Il19fX19

问题:

  1. 有人可以看看下面我的过程/代码并告诉我是否缺少一个步骤,或者我的代码中没有包含某些内容?

  2. 我是否遗漏了 MySQL 端的某些内容?我应该创造特定表或以某种方式自定义它以便它存储数据以可用/可读的格式?

  3. 我是否在正确的地方查找已完成的调查申请资料? SessionWizardView 在哪里存储/发送它?

再次感谢您的患者,这是我的第一个数据库应用程序

过程:

  • 我通过以下方式在 MySQL(版本 14.14 Distrib 5.6.20)中创建了数据库终端 CREATE database django_db; 里面的表是当我运行命令时创建 python manage.py syncdb 除了我不接触数据库。

  • 我可以在我的计算机上完成使用 SessionWizardView 构建的调查本地机器和公共(public)服务器上。没有错误,它出现了一切正常

  • 我已经设置了 phpMyAdmin 并且可以看到 django_db 数据库。然而我真的不知道我在看什么。

enter image description here

代码:

表单.py

在大多数情况下,调查的问题相对简单,例如:

class SurveyFormA(forms.Form):

#When were you born?
birthdate = forms.DateField(widget=extras.SelectDateWidget(years = range(1995, 1900, -1)), label='What is your Date of Birth?', required = False)

#What is your current relationship status?
SINGLE = 'Single'
INARELATIONSHIP = 'In a relationship'
MARRIED = 'Married'
DIVORCED = 'Divorced'
SEPARATED = 'Separated'
WIDOWED = 'Widowed'

RELATIONSHIP = (
("", "----------"),
(SINGLE, "Single"),
(INARELATIONSHIP, "In a relationship"),
(MARRIED, "Married"),
(DIVORCED, "Divorced"),
(SEPARATED, "Separated"),
(WIDOWED, "Widowed"),
)
relationship = forms.ChoiceField(widget=forms.Select(), choices=RELATIONSHIP, initial= "", label='What is your relationship status?', required = False)

class SurveyFormB(forms.Form): #Internet usage questions

(second page questions here)
....
....

这些似乎工作正常,如下图所示 enter image description here

每个 SessionWizardViews 都有一个 get_context_data 用于捕获数据并将其从调查表单的一页存储到下一页和 done 方法。我没有显示完整的 get_context_data,因为它很长。

views.py

class SurveyWizardOne(SessionWizardView):                             
def get_context_data(self, form, **kwargs):
context = super(SurveyWizardOne, self).get_context_data(form, **kwargs)
....
....

def done(self, form_list, **kwargs):
return render(self.request, 'Return_to_AMT.html', {
'form_data': [form.cleaned_data for form in form_list],
})

数据库连接:

我的 Django 站点连接到 settings.py 中的 MySQL 数据库

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_db',
'USER': 'root',
'PASSWORD': '************',
'HOST': '127.0.0.1',
#'PORT': '',
}
}

最佳答案

您必须编写 models.py 或设置您想要访问的特定数据库。这两者似乎都没有在这里完成。

官方文档中的这些链接应该有所帮助:

https://docs.djangoproject.com/en/1.6/ref/databases/

https://docs.djangoproject.com/en/1.6/topics/db/

PS - 您应该考虑改用 Django 1.8。它甚至有更好的文档记录并且更容易使用。此外,将您的代码从一个 Django 版本移植到下一个版本真的非常容易。只不过是简单的复制粘贴而已。

关于python - 为什么我的 Django SessionWizardView 调查应用程序数据没有以可用格式显示在我的 MySQL 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30108599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com