django - 将上下文对象名称直接传递给 html,如 django 中的 href="{% url 'profileEdit' here %}"
问题描述
在这里,我正在尝试编辑当前登录的用户的个人资料。
网址.py
path('profileEdit/<int:pk>/',views.profileEdit.as_view(),name='profileEdit'),
视图.py
class profileEdit(UpdateView):
model = Profile
fields = ['bio', 'photo']
template_name = 'Blog/profileEdit.html'
success_url = '/newsfeed/'
context_object_name = 'form'
def form_valid(self, form):
form.instance.user = self.request.user
return super().form_valid(form)
def profileuser():
me = Profile.objects.get(user=request.user)
contex={
'u':me.pk,
}
return render(request,'Blog/base.html',contex)
base.html
<div class="dropdown-menu">
<a class="dropdown-item" style="font-size:20px;color:red" href="{% url 'profileEdit' something %}">Edit Profile
</a>
我想放一些东西,something
通过它可以获得像'profileEdit/2/'这样的URL。代替我们可以放的东西,request.user.pk
但问题是我不想让用户pk。取而代之的是,我想要配置文件 pk 因此,我创建了profileuser
函数,通过该函数我可以将上下文对象传递给 html url,但不知道该怎么做。
解决方案
将此添加到您的更新功能中
lookup_field = 'pk'
代替某些东西添加 'u' 。这个你是你在你的上下文字典中传递profileuser() function
推荐阅读
- javascript - 如何在 catch 块中获取调用者对象名称
- vue.js - 如何将 vue-datetime 与时区一起使用?
- c# - 如何在复杂的迷宫中添加对撞机
- php - 在 html 中包含一个 css 文件
- spring - 将 Java.util.Properties 的属性合并到 ProperPlaceHolderConfigurer
- excel - 如何在 Excel VBA 中创建一个字符串变量以根据变量名循环?
- python - 如何在 python 中正确制作带有输入和输出的 TkInter GUI?
- php - 使用 Laravel 为一对多类别结构创建数据记录
- php - PHP echo 中的引号有问题
- c# - 执行异步/等待时如何确保线程更改?