我正在解决一个问题,我需要获取当前用户的 slug 来更新他们的信息。在模型中,我已将用户名存储在 slug 中,但无法访问模板中的 slug。
我尝试使用 request.user 来获取 slug 中的用户名,但它显示页面未找到错误。
模型.py
class UserProfile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE, default=None, null=True)
role = models.CharField(max_length=50, choices=Roles)
verified =models.BooleanField(default = False,blank=True)
photo = models.ImageField(upload_to='images', blank=True, default='default/testimonial2.jpg')
slug = models.SlugField(unique=False, blank=True)
def save(self, *args, **kwargs):
self.slug = slugify(self.user.username)
super(UserProfile, self).save(*args, **kwargs)
def __str__(self):
return self.user.username
模板
<a class="nav-link " href="{% url 'NewApp:userupdate' slug=request.user %}" ><span class="glyphicon glyphicon-user"></span> {{request.user.username}} </a>
网址
url(r'^userupdate/(?P<slug>[-\w\d]+)/$',views.UserUpdateView.as_view(),name='userupdate'),
最佳答案
使用点表示法访问 slug 字段并创建如下所示的 url。
<a class="nav-link" href="{% url 'NewApp:userupdate' request.user.slug %}" >
<span class="glyphicon glyphicon-user"></span> {{ request.user }}
</a>
希望这对你有帮助:)
关于django - 如何获取当前用户的slug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57160391/