django - 如何在 Django 中将用户发送的数据关联到他自己的帐户
问题描述
我有一个名为 KeyFormModel 的模型,它有 2 个字段“secret_key”和“primary_key”,我将这个模型指向一个表单并将这个表单称为一个视图和模板。每个用户只有一个 primary_key 和一个 secret_key,当我将其发送到模型时,他们正在与其他密钥集混合
这是我的模型
class KeyFormModel(models.Model):
username = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
primary_key = models.CharField(max_length=200)
secret_key = models.CharField(max_length=200)
def __str__(self):
return username+"_keys"
class Meta:
verbose_name_plural = 'Keys'
这是我的表格
from ..models import KeyFormModel
from django import forms
from django.conf import settings
class KeyForm(forms.ModelForm):
primary_key = forms.CharField(required=True)
secret_key = forms.CharField(required=True,widget = forms.PasswordInput)
class Meta:
model = KeyFormModel
fields = ("username","primary_key","secret_key")
这是我的看法
@cache_control(no_cache=True, must_revalidate=True)
@login_required(login_url='../login')
def AccountView(request):
if(request.method == 'POST'):
form =KeyForm(request.POST)
if(form.is_valid()):
form.save()
else:
for msg in form.error_messages:
messages.error(request,f"{msg}")
form = KeyForm
return(render(request, 'accountView.html',context={"form":form}))
如您所见,我在登录该帐户后尝试从 AUTH_USER_MODEL 添加用户名,但失败得很惨。请帮忙
解决方案
什么对我有用:
将用户导入模型:
from django.contrib.auth.models import User
并在特定模型中添加用户字段:
user = models.ForeignKey(
User,
on_delete=models.CASCADE,
)
推荐阅读
- java - 易失性和非易失性字段混合时发生易失性关系
- r - 在 R Markdown 中显示 corrplot
- macos - 在 macOS 上是否可以在没有父目录的情况下压缩多个文件?
- tensorflow - 如何有效地可视化网络架构?
- java - 如何使用java流对由空行分隔的字符串行进行分组
- arrays - 如何从n个数组中找到一个数组中的连续整数子数组,使得这些连续子数组的元素之和最小
- ios - 在 SwiftUI 中初始化 Slider 值
- javascript - 重新加载页面时,页面包含来自许多组件的空白?
- sql - SQL 使用 CASE 创建新列
- c++ - C++:有人可以大致解释一下如何为抽象数据类型设计/编写析构函数吗?