Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:模型、视图和模板_Python_Django_Django Models - Fatal编程技术网

Python Django:模型、视图和模板

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

我试图在Django做一件非常简单的事情,但因为我是个新手而被卡住了。基本上,在我网站的医生页面上,我试图添加一个字段,用户可以在其中输入该医生的等待时间。为此,我在models.py中编写了以下模型:

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(检查我对答案所做的编辑)-