django - 如何为我的应用程序实现内置信号?
问题描述
我有一个项目 myappointments,其中有两个应用程序-约会和诊所。
目的:当用户登录时,应在数据库中输入详细信息。
约会/models.py:
class Event(models.Model):
id=models.AutoField(primary_key=True, unique=True)
type=models.CharField(max_length=60)
description = models.CharField(max_length=150)
time = models.DateTimeField(default=timezone.now)
约会/初始化.py:
default_app_config = 'appointments.apps.AppointmentsConfig'
约会/apps.py:
from django.apps import AppConfig
class AppointmentsConfig(AppConfig):
name = 'appointments'
def ready(self):
import appointments.signals
约会/signals.py:
from django.contrib.auth.signals import user_logged_in
from django.dispatch import receiver
def record_loggedin(sender, user, request, **kwargs):
ev = Event(type="Login", description = 'User logged in: {}'.format(request.user.id))
ev.save()
print("User has logged in. Saved event to DB.")
user_logged_in.connect(record_loggedin)
我需要做哪些其他修改才能做到这一点?
解决方案
推荐阅读
- r - 导入和旋转多个 CSV 文件并作为变量嵌入数据表中
- java - Java Timer:在封闭范围内定义的局部变量计数必须是最终的或有效的最终
- java - Java Spring 如何两次加入同一列
- android - Android Kotlin RecyclerView 适配器 onCreateViewHolder 未调用
- javascript - 如何在反应中渲染嵌套数组
- javascript - 当它们在同一页面中时,如何使用 Hook(仅限 ForwardRef 概念)在子组件中调用父方法
- android - 如何使用导航组件从主要活动中访问功能
- javascript - 如何通过 ID 从 Apollo 缓存中读取嵌套对象?
- reactjs - 每当在 reactjs 中选中复选框时清除文本输入
- ios - 在 SwiftUI 中关闭地图视图 (MKMapView)