从表单中获取数据并在temp中显示

2024-03-28 10:06:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从django教程修改posts应用程序-https://github.com/codingforentrepreneurs/Advancing-the-Blog/tree/master/src/posts

我正在创建一个新字段“userc”表单.py公司名称:

   userc = forms.ModelChoiceField(queryset=User.objects.filter(is_staff=True))

我尝试了各种方法,但无法在模板中显示选定的用户。在

我该加些什么views.py?在

编辑: 我试过{目标用户}}, {{ 实例.userc}}在模板中显示选定的用户。在

在视图.py在

^{pr2}$

Tags: thedjango用户pyhttpsgithubcom模板
2条回答

将实例作为上下文变量传递。在

context = { "form": form, "instance": instance }

如果request.method不是POST,则设置instance = None之前使其工作。模板只能访问在视图中作为上下文传递的变量。因此在上下文中传递实例将允许您使用{{instance.userc}}。在

CodingforEntrepenuers是一个很好的教程,但我建议您更紧密地跟随它,并使您的基本原理正确。在

到目前为止,forms.py和{}中的代码很好。但是,要在post_detail.htmlpost_list.html模板中显示userc,需要在提交表单时将字段保存到数据库中。在

一种方法是将userc字段添加到Post模型中:

  1. userc = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='userc', default=1)添加到posts/models.py中的Post类中
  2. 在命令行上运行python manage.py makemigrations posts,然后运行python manage.py migrate(确保首先在src目录中)

现在,在post_detail.html模板中,您可以添加{{ instance.userc }}来显示所选用户。在

注意:related_name='userc'是必需的,因为Post已经有了用户模型的外键。在

相关问题 更多 >