我试图从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}$
将实例作为上下文变量传递。在
context = { "form": form, "instance": instance }
如果
request.method
不是POST,则设置instance = None
之前使其工作。模板只能访问在视图中作为上下文传递的变量。因此在上下文中传递实例将允许您使用{{instance.userc}}
。在CodingforEntrepenuers是一个很好的教程,但我建议您更紧密地跟随它,并使您的基本原理正确。在
到目前为止,}中的代码很好。但是,要在
forms.py
和{post_detail.html
和post_list.html
模板中显示userc
,需要在提交表单时将字段保存到数据库中。在一种方法是将
userc
字段添加到Post
模型中:userc = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='userc', default=1)
添加到posts/models.py
中的Post
类中python manage.py makemigrations posts
,然后运行python manage.py migrate
(确保首先在src
目录中)现在,在
post_detail.html
模板中,您可以添加{{ instance.userc }}
来显示所选用户。在注意:
related_name='userc'
是必需的,因为Post
已经有了用户模型的外键。在相关问题 更多 >
编程相关推荐