덕분에, 나는 이것을했습니다 :
#middleware.py (Under the Analytics App)
from django.http import HttpResponseNotFound, HttpRequest
from analytics.models import Site_Error
class Catch404Middleware(object):
def process_response(self, request, response):
if isinstance(response, HttpResponseNotFound):
try:
new_save,created = Site_Error.objects.get_or_create(error=request.path)
new_save.times += 1
new_save.save()
except:
new_save = False
return response
#models.py (Ananlytics App)
class Site_Error(models.Model):
error = models.CharField(max_length=8000)
times = models.IntegerField(default=0)
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ('-timestamp',)
verbose_name = "Error"
verbose_name_plural = "Errors"
def __unicode__(self):
return self.error
#in settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'analytics.middleware.Catch404Middleware',
)
이 코드는 Site_Error
모델로 요청 된 모든 경로를 저장합니다. 당신이 이것으로 할 수있는 일이 훨씬 더 많아서 전에 대답으로 추천 한대로 Django documentation on middleware을 찾으십시오.
충분히 쉽게 보입니다. 응답 해 주셔서 감사합니다. – jmitchel3
놀라운! 고마워요. Thane – jmitchel3