django-models - 我的 Django 更新视图没有更新数据库中的信息有什么问题
问题描述
我似乎无法找出我的错误在哪里。当我更新用户配置文件时,我收到一条成功消息,但实际上没有任何内容保存到配置文件模型中。
网址
from django.urls import path
from .views import (
user_detail_view,
user_redirect_view,
user_update_view,
profile_update_view,
UserDeleteView,
)
app_name = "users"
urlpatterns = [
path("~redirect/", view=user_redirect_view, name="redirect"),
path("~update/", view=user_update_view, name="update"),
path("~update-profile/", view=profile_update_view, name="profile_update"),
path("<str:username>/delete/", UserDeleteView.as_view(), name="user_delete"),
path("<str:username>/", view=user_detail_view, name="profile"),
]
形式
class UserProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['image', 'instagram', 'twitter', 'public_encryption_key', 'user_info']
意见
class ProfileUpdateView(LoginRequiredMixin, UpdateView):
model = Profile
template_name = 'users/user_profile_form.html'
fields = ["image", 'instagram', 'twitter', 'public_encryption_key', 'user_info']
def get_success_url(self):
return reverse("users:profile", kwargs={"username": self.request.user.username})
def get_object(self):
return User.objects.get(username=self.request.user.username)
def form_valid(self, form):
form.instance.profile = get_author(self.request.user)
form.save()
return super().form_valid(form)
profile_update_view = ProfileUpdateView.as_view()
解决方案
推荐阅读
- matrix - 按字符标记矩阵
- http - java servlet中http的POST和GET方法可以发送多少数据?
- javascript - 从表格内容构建videojs播放列表?
- javascript - [...].map(parseInt) 只返回结果数组中的一个值
- delphi - Firemonkey Delphi 设备特定方向
- php - 我可以使用 netsuite php 工具包添加新项目吗?
- bash - 使用 awk 将大文件拆分为具有定义数量的多行记录的块
- javascript - 将网站主题转换为 React 组件的正确方法
- python - 如何将差异文本输出到单独的文件中?蟒蛇3
- hive - Mule-Hive DB 连接返回 503 HTTP 响应代码