python - 在 Django 表单中获取用户名
问题描述
我想在我的表单中获取用户名。例如:当前用户的用户名是 admin 然后在我的表单中,名称部分应自动填写 ' admin '。我应该怎么办?这是我的代码...
视图.py
def attendanceView(request):
if request.method=='POST':
form = AttendanceForm(request.POST)
if form.is_valid():
attendance = AttendanceModel()
attendance.name = form.cleaned_data['name']
attendance.date = form.cleaned_data['date']
attendance.save()
return redirect('home')
else:
form = AttendanceForm()
return render(request, 'attendance.html', {'form': form})
模型.py
class AttendanceModel(models.Model):
name = models.CharField(max_length=100)
date = models.DateTimeField(default=datetime.now)
class Meta:
unique_together = ('name', 'date',)
表格.py
class AttendanceForm(ModelForm):
class Meta:
model = AttendanceModel
fields=('name', 'date')
解决方案
您可以在视图中预填充表单的特定字段。
视图.py
def attendanceView(request):
if request.method=='POST':
form = AttendanceForm(request.POST)
if form.is_valid():
attendance = AttendanceModel()
attendance.name = form.cleaned_data['name']
attendance.date = form.cleaned_data['date']
attendance.save()
return redirect('home')
else:
initial = {'name':request.user.username}
form = AttendanceForm(initial=intial)
return render(request, 'attendance.html', {'form': form})
推荐阅读
- json - 如何在使用烧瓶进行模型部署时预处理新数据集
- reactjs - 路由器重新渲染当前组件,而不是渲染与所需路径匹配的组件
- angular - 422 Angular 8 中无法处理的实体
- wordpress - 如何将 wordpress 站点映射或复制到现有站点路径中的子文件夹?
- java - 如果电源按钮损坏,如何在 Windows 10 中以编程方式关闭显示器电源
- php - Laravel 如何在桌子上使用 forelse()?
- javascript - 具有 SHA-256 差异结果的 Java 和 JavaScript 哈希
- python-3.x - 调用 Pythons mutliprocessing.Process.join() 失败
- java - 从 Java 8 WSDL 生成旧版 WSDL C++ MFC .NET 2.0
- azure - 捕获文件存在状态并将输出发送到 ansible 中的 csv 文件