Python Django:模型、视图和模板
我试图在Django做一件非常简单的事情,但因为我是个新手而被卡住了。基本上,在我网站的医生页面上,我试图添加一个字段,用户可以在其中输入该医生的等待时间。为此,我在models.py中编写了以下模型:Python Django:模型、视图和模板,python,django,django-models,Python,Django,Django Models,我试图在Django做一件非常简单的事情,但因为我是个新手而被卡住了。基本上,在我网站的医生页面上,我试图添加一个字段,用户可以在其中输入该医生的等待时间。为此,我在models.py中编写了以下模型: class WaitingTime(models.Model): doctor = models.ForeignKey(Doctor) user = models.OneToOneField(User, unique=True) time = models.Integer
class WaitingTime(models.Model):
doctor = models.ForeignKey(Doctor)
user = models.OneToOneField(User, unique=True)
time = models.IntegerField("Waiting Time", max_length=2)
在此之后,我写了以下观点:
def WaitingTime(request):
if request.method == 'POST':
form = WaitingTime(request.POST)
if form.is_valid():
doctor = form.cleaned_data['doctor']
user = form.cleaned_data['user']
time = form.cleaned_data['time']
return HttpResponseRedirect('/thanks/')
else:
form = WaitingTime()
这个观点是我最不确定的部分。尽管我已经完成了两个教程,但当我不得不写这个视图时,我感觉自己像个傻瓜
然后,我将以下代码添加到我的模板中:
<h4>Please enter the waiting time that you experienced for this doctor.</h4>
<form action="/WaitingTime/" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="hidden" name="doctor" value="{{ doctor.name }}" />
<input type="hidden" name="user" value="{{ user.username }}" />
WaitingTime: <input type="text" name="time"><br>
<input type="submit" value="Submit" />
</form>
请输入您对该医生的等待时间。
{%csrf_令牌%}
{{form.as_p}}
等待时间:
所以基本上,我在将数据从前端添加到数据库时遇到了问题,这是一件非常琐碎和基本的事情。我已经运行了python manage.py syncdb并使用SQLite数据库浏览器进行了检查。已添加包含相应列的表。请帮忙。先谢谢你 要更改数据库,需要将视图更改为-
def WaitingTime(request):
if request.method == 'POST':
form = WaitingTimeForm(request.POST) #class specified in forms.py
if form.is_valid():
doctor = form.cleaned_data['doctor']
user = form.cleaned_data['user']
time = form.cleaned_data['time']
WaitingTimeObject = WaitingTime(doctor=doctor, user=user, time=time)
WaitingTimeObject.save()
return HttpResponseRedirect('/thanks/')
为了对数据库进行更改,需要将视图更改为-
def WaitingTime(request):
if request.method == 'POST':
form = WaitingTimeForm(request.POST) #class specified in forms.py
if form.is_valid():
doctor = form.cleaned_data['doctor']
user = form.cleaned_data['user']
time = form.cleaned_data['time']
WaitingTimeObject = WaitingTime(doctor=doctor, user=user, time=time)
WaitingTimeObject.save()
return HttpResponseRedirect('/thanks/')
谢谢你的回答。我做了改变。但是,当我尝试提交表单数据时,我得到一个错误,即“AttributeErrorat/WaitingTime/'WaitingTime'对象没有属性'get'”,这是因为您的模型和表单名称相同。我会将表单类更改为
WaitingTimeForm()
而且,视图名称相同-再次冲突!!我想@karthir可能已经解决了你的疑问。您是否创建了forms.py文件?在forms.py中,确保类是WaitingTimeForm(检查我对答案所做的编辑)。检查以下文档链接-感谢您的回答。我做了改变。但是,当我尝试提交表单数据时,我得到一个错误,即“AttributeErrorat/WaitingTime/'WaitingTime'对象没有属性'get'”,这是因为您的模型和表单名称相同。我会将表单类更改为WaitingTimeForm()
而且,视图名称相同-再次冲突!!我想@karthir可能已经解决了你的疑问。您是否创建了forms.py文件?在forms.py中,确保类是WaitingTimeForm(检查我对答案所做的编辑)-