关于表格的问题,我如何在表单字段中获得即时用户pyhton django
我已经构建了一些用户到用户消息功能。我有发件人,接收器和文本请参见下面。现在,用户必须选择他的电子邮件,然后选择该邮件应向的电子邮件。 但是我想要的是,用户不需要自己选择自己,我需要一个立即查询的表单函数。但是我不知道如何以形式实施。并且用户未显示在接收器列表中。我的英语不好,希望你能理解我。
views.py
def mailEMployee(request):
mail = Mailsysthem.objects.filter(ontvanger=request.user)
receiver = Mailsysthem.objects.filter(ontvanger=request.user)
sender = Mailsysthem.objects.filter(zender=request.user)
user = CustomUser.objects.filter(email=request.user)
form = Mailsythemform()
if request.method == 'POST':
form = Mailsythemform(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('mail')
context={
'form':form,
'receiver':receiver,
'sender':sender.all,
'mail':mail,
'user':user
}
return render(request,'emp/mail.html', context)
forms.py
class Mailsythemform(forms.ModelForm):
class Meta:
model= Mailsysthem
fields= ['zender','ontvanger','subject','text']
models.py
class Mailsysthem(models.Model):
zender = models.ForeignKey(to=CustomUser, null=True, on_delete=models.SET_NULL,related_name='Zender')
ontvanger = models.ForeignKey(to=CustomUser, null=True, on_delete=models.SET_NULL,related_name='Ontvanger')
subject = models.CharField(null=True, max_length=200)
text = models.TextField(max_length=300, null=True, blank=True, verbose_name='Bericht')
date = models.DateTimeField(auto_now_add=True, blank=True)
solftdelete = models.BooleanField(default=False)
mail_opened = models.BooleanField(default=False)
url.py
path('mailemployee/', views.mailEMployee, name='mail'),
i have build some user to user message function. i have sender, receiver and text see below. The user now must choose his email and then the email where the message should go.
But what i want is that the user dont need tho choose it self i need a form function that query instantly request.user. but i dont know how to implement that on form. And that the user is not shown in the receiver list. Srry for my bad english hope you understand me.
views.py
def mailEMployee(request):
mail = Mailsysthem.objects.filter(ontvanger=request.user)
receiver = Mailsysthem.objects.filter(ontvanger=request.user)
sender = Mailsysthem.objects.filter(zender=request.user)
user = CustomUser.objects.filter(email=request.user)
form = Mailsythemform()
if request.method == 'POST':
form = Mailsythemform(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('mail')
context={
'form':form,
'receiver':receiver,
'sender':sender.all,
'mail':mail,
'user':user
}
return render(request,'emp/mail.html', context)
Forms.py
class Mailsythemform(forms.ModelForm):
class Meta:
model= Mailsysthem
fields= ['zender','ontvanger','subject','text']
models.py
class Mailsysthem(models.Model):
zender = models.ForeignKey(to=CustomUser, null=True, on_delete=models.SET_NULL,related_name='Zender')
ontvanger = models.ForeignKey(to=CustomUser, null=True, on_delete=models.SET_NULL,related_name='Ontvanger')
subject = models.CharField(null=True, max_length=200)
text = models.TextField(max_length=300, null=True, blank=True, verbose_name='Bericht')
date = models.DateTimeField(auto_now_add=True, blank=True)
solftdelete = models.BooleanField(default=False)
mail_opened = models.BooleanField(default=False)
url.py
path('mailemployee/', views.mailEMployee, name='mail'),
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要为
modelform
提供初始值=“ nofollow noreferrer”> docs )如下:You need to provide initial value to your
ModelForm
(docs) as following: