Django-simple-history 在管理网站以外的网页上显示日志
Django-simple-history to display logs on webpage other than admin website
我已经成功在管理页面注册了 Django-simple-history。
我现在一直在尝试让审计 (CRUD) 日志显示在管理站点以外的网页上。当前页面显示空白。
这是我尝试让它工作的尝试 -
views.py 文件
def audit_trail(request, id):
if request.method == "GET":
obj = My_Model.history.all(pk=id)
return render(request, 'audit_trail.html', context={'object': obj})
audit_trail.html 文件
{%extends "did/base.html" %}
{% block content %}
{% for h in object%}
{{ h.id }}
{{ h.carrier }}
{% endfor %}
{% endblock content %}
url 模式
path('audit_trail/', views.audit_trail, name='audit_page'),
** 模型文件 **
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from simple_history.models import HistoricalRecords
class My_Model(models.Model):
field1 = models.CharField(max_length=100)
field2 = models.DateTimeField(default=timezone.now)
field3 = models.CharField(max_length=100)
history = HistoricalRecords()
这里的问题是您的查询集未返回任何内容。历史 table 上的主键是 history_id
,而不是来自您的基础 My_Model
table 的 id
。因此,如果您将查询更新为
My_Model.history.filter(id=id)
,这应该可以工作。
我已经成功在管理页面注册了 Django-simple-history。 我现在一直在尝试让审计 (CRUD) 日志显示在管理站点以外的网页上。当前页面显示空白。
这是我尝试让它工作的尝试 -
views.py 文件
def audit_trail(request, id):
if request.method == "GET":
obj = My_Model.history.all(pk=id)
return render(request, 'audit_trail.html', context={'object': obj})
audit_trail.html 文件
{%extends "did/base.html" %}
{% block content %}
{% for h in object%}
{{ h.id }}
{{ h.carrier }}
{% endfor %}
{% endblock content %}
url 模式
path('audit_trail/', views.audit_trail, name='audit_page'),
** 模型文件 **
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from simple_history.models import HistoricalRecords
class My_Model(models.Model):
field1 = models.CharField(max_length=100)
field2 = models.DateTimeField(default=timezone.now)
field3 = models.CharField(max_length=100)
history = HistoricalRecords()
这里的问题是您的查询集未返回任何内容。历史 table 上的主键是 history_id
,而不是来自您的基础 My_Model
table 的 id
。因此,如果您将查询更新为
My_Model.history.filter(id=id)
,这应该可以工作。