我正在创建一个Django应用程序。一旦我使用用户名和密码登录,我将有两个链接:
好!!现在,当我点击“我的联系人”时,我将获得所有用户的列表。但我只想查看我的联系人,我的意思是与这些特定用户凭据相关联的联系人。
有人可以帮助我解决如何处理这种情况吗?
以下是代码:即使我提供有效信息,也会将其显示为无效信息!!
addcontact view:
def addcon(请求): 如果request.method =='POST': form = ContactForm(request.POST) 如果form.is_valid(): name = request.POST.get('name') dob = request.POST.get('dob') mobile = request.POST.get('mobile') email = request.POST.get('email') a =联系人(姓名=姓名,dob = dob,mobile = mobile,email = email) a.save() return render_to_response('success.html') 其他: 返回HttpResponse('无效字段') 联系表格:
来自django导入表格
class ContactForm(forms.Form):
name = forms.CharField()
dob = forms.DateField()
email = forms.EmailField()
mobile = forms.IntegerField()
addcontact html file
1 {%extends“base.html”%}
2 {%block content%}
3 {%if form.errors%}
4抱歉,这不是有效的用户名或密码
5 {%endif%}
6
7 logout
8
9
10
11姓名:
12 DOB:
13手机:
14电子邮件:
15
16
17
18& nbsp& nbsp& nbsp& nbsp
19
20
21 {%endblock%}
答案 0 :(得分:1)
您应该在 ContactForm 模型中添加当前联系人所属的另一个字段(已登录的用户)
from django.contrib.auth.models import User
class ContactForm(forms.Form):
contact_belongs_to = models.ForeignKey(User, on_delete=models.CASCADE)
name = forms.CharField()
dob = forms.DateField()
email = forms.EmailField()
mobile = forms.IntegerField()
然后按User.id过滤
答案 1 :(得分:0)
听起来您需要过滤查询结果 - 请参阅django docs on making queries
你的模特也可能有多对多的关系,所以我建议你阅读django docs on many-to-many relationships
注意 - 如果您发布了一些代码(特别是模型和视图),将会更容易为您提供帮助