【问题标题】:How to get the slug of current user?如何获取当前用户的slug?
【发布时间】:2019-07-23 08:59:10
【问题描述】:

我正在解决一个问题,我需要获取当前用户的 slug 以更新他们的信息。在模型中,我已将用户名存储在 slug 中,但我无法访问模板中的 slug。

我尝试使用 request.user 获取 slug 中的用户名,但它显示页面未找到错误。

models.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'),

【问题讨论】:

  • 请分享呈现此模板的views.py

标签: django django-views django-urls


【解决方案1】:

使用点符号访问 slug 字段并创建如下所示的 url。

<a class="nav-link" href="{% url 'NewApp:userupdate' request.user.slug %}" >
   <span class="glyphicon glyphicon-user"></span> {{ request.user }} 
</a>

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2019-09-04
    • 2021-06-18
    • 2014-08-21
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2013-02-13
    • 1970-01-01
    相关资源
    最近更新 更多