0
我有兩個模型,我將允許用戶單獨編輯,一個稱爲用戶(Django默認身份驗證),另一個是UserProfile。如何在Django中驗證我的表單或視圖,以便他們只能將用戶模型編輯爲屬於該數據的用戶模型?
models.py(用戶配置)
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.ImageField(upload_to='avatar', default='avatar/default.png')
header = models.ImageField(upload_to='header', default='header/default.png')
bio = models.TextField(max_length=140, blank=True)
website = models.URLField(max_length=200, blank=True)
location = models.CharField(max_length=30, blank=True)
date_birth = models.DateField(null=True, blank=True)
views.py
class UserUpdateView(generic.UpdateView):
"""
This view is for editing only the User model. /edit/
"""
model = User
slug_field = 'username'
form_class = UserForm
template_name = 'user/user_edit.html'
但我有一個問題,我有這個用戶「cotizcesar」和這個URL(http://.../u/cotizcesar/edit/)。 當訪問另一個用戶(http://.../u/oboro/edit/)時,我可以如何將用戶重定向到自己的URL? –
我的建議是您完全從網址中刪除用戶名,並使用'/ u/edit /'代替。如果你想檢查用戶名和重定向,你可以重寫調度方法。 – Alasdair
感謝您的幫助,我會給您答案的答案,非常好,很短。但我認爲,當我有一個名稱編輯的用戶名,例如它會產生衝突。 示例:https://plxapp.herokuapp.com/ –