我是 Django 的初学者,我正在尝试在我的 Django 规划器中实现登录系统。
错误:
/login_user/ 处的 FieldError 无法将关键字“用户”解析为字段。选项有:描述、结束时间、id、开始时间、标题
我已经尝试将用户字段添加到我在 model.py 上的事件模型中并迁移它,但它只会使整个应用程序崩溃。
视图.py
def event(request, event_id=None):
instance = Event()
if event_id:
instance = get_object_or_404(Event, pk=event_id)
else:
instance = Event()
form = EventForm(request.POST or None, instance=instance)
if request.POST and form.is_valid():
form.save()
return HttpResponseRedirect(reverse('cal:calendar'))
return render(request, 'cal/event.html', {'form': form})
def login_user(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
events = Event.objects.filter(user=request.user)
login(request, user)
return render(request, 'cal/calendar.html', {'calendar': calendar})
else:
return render(request, 'cal/login.html', {'error_message': 'Your account has been disabled'})
else:
return render(request, 'cal/login.html', {'error_message': 'Invalid login'})
return render(request, 'cal/login.html')
表格.py
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = User
fields = ['username', 'email', 'password',]
模型.py
from django.contrib.auth.models import Permission, User
from django.db import models
class Event(models.Model):
#user = models.ForeignKey(User, default=1)
title = models.CharField(max_length=200)
description = models.TextField()
start_time = models.DateTimeField()
end_time = models.DateTimeField()
@property
def get_html_url(self):
url = reverse('cal:event_edit', args=(self.id,))
return f'<a href="{url}"> {self.title} </a>'
长风秋雁
不负相思意
相关分类