在模板中显示用户请求的项目(django)
Display Item requested by user in template (django)
我有一个简单的借阅物品请求应用程序,用户可以登录并填写以下表格:
- 项目
- 位置
- 开始日期
- 结束日期
这存储在数据库中Record stored in database
然后我有一个 return 页面,用户只需单击 return 即可确认已经 return 编辑了项目。
我只想显示与用户登录页面相关的项目,(所以只显示用户发出的请求:当前项目和之前的项目。)
我有以下请求模型 Table:
class Request(models.Model):
shootkit_id = models.ForeignKey(Shootkit, on_delete=models.CASCADE)
username = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
request_start_date = models.DateField('Start Date')
request_end_date = models.DateField('End Date')
location = models.ForeignKey(Location, on_delete=models.CASCADE)
视图中的以下定义:
def return_form(request):
form = shootkitForm
request_db = Request.objects.all
return render(request, 'return_form.html', {'form':form, 'request_db':request_db})
以及模板中的以下内容 return:
{% for shootkit in request_db %}
<div class="callout-info">Hi {{ user }}, you currently have the {{ shootkit.shootkit_id }}</div>
{% endfor %}
显然这是显示 table 上的每条记录(如果我有更多的记录)。我只想显示与用户 User log in info and name of the item
编辑的项目(在本例中为 shootkit #5)link
这是我的第一个开发,也是第一次使用 django...所以这是我能想到如何显示记录的唯一方法...但我不知道如何link 它与用户并仅显示用户(已登录)出现的记录。有人可以帮忙吗?
谢谢。
你必须使用 filter():
def return_form(request):
form = shootkitForm
request_db = Request.objects.filter(username=request.user)
return render(request, 'return_form.html', {'form':form, 'request_db':request_db})
我有一个简单的借阅物品请求应用程序,用户可以登录并填写以下表格:
- 项目
- 位置
- 开始日期
- 结束日期
这存储在数据库中Record stored in database
然后我有一个 return 页面,用户只需单击 return 即可确认已经 return 编辑了项目。
我只想显示与用户登录页面相关的项目,(所以只显示用户发出的请求:当前项目和之前的项目。)
我有以下请求模型 Table:
class Request(models.Model):
shootkit_id = models.ForeignKey(Shootkit, on_delete=models.CASCADE)
username = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
request_start_date = models.DateField('Start Date')
request_end_date = models.DateField('End Date')
location = models.ForeignKey(Location, on_delete=models.CASCADE)
视图中的以下定义:
def return_form(request):
form = shootkitForm
request_db = Request.objects.all
return render(request, 'return_form.html', {'form':form, 'request_db':request_db})
以及模板中的以下内容 return:
{% for shootkit in request_db %}
<div class="callout-info">Hi {{ user }}, you currently have the {{ shootkit.shootkit_id }}</div>
{% endfor %}
显然这是显示 table 上的每条记录(如果我有更多的记录)。我只想显示与用户 User log in info and name of the item
编辑的项目(在本例中为 shootkit #5)link这是我的第一个开发,也是第一次使用 django...所以这是我能想到如何显示记录的唯一方法...但我不知道如何link 它与用户并仅显示用户(已登录)出现的记录。有人可以帮忙吗?
谢谢。
你必须使用 filter():
def return_form(request):
form = shootkitForm
request_db = Request.objects.filter(username=request.user)
return render(request, 'return_form.html', {'form':form, 'request_db':request_db})