增加ip地址记录

sh_branch
liangliang 5 years ago
parent 0b79f6b267
commit 4ca514b842

@ -41,7 +41,7 @@ class ElasticSearchBackend(BaseSearchBackend):
# pass
def _get_models(self, iterable):
models = iterable if iterable else Article.objects.all()
models = iterable if iterable and iterable[0] else Article.objects.all()
docs = self.manager.convert_to_doc(models)
return docs
@ -83,10 +83,10 @@ class ElasticSearchBackend(BaseSearchBackend):
'match', title=query_string)], minimum_should_match="70%")
search = ArticleDocument.search() \
.query('bool', filter=[q]) \
.filter('term', status='p') \
.filter('term', type='a') \
.source(False)[start_offset: end_offset]
.query('bool', filter=[q]) \
.filter('term', status='p') \
.filter('term', type='a') \
.source(False)[start_offset: end_offset]
results = search.execute()
hits = results['hits'].total

@ -30,6 +30,7 @@ class ElapsedTimeDocument(Document):
log_datetime = Date()
type = Text(analyzer='ik_max_word')
useragent = Text()
ip = Text()
class Index:
name = 'performance'
@ -45,7 +46,7 @@ class ElapsedTimeDocument(Document):
class ElaspedTimeDocumentManager():
@staticmethod
def create(url, time_taken, log_datetime, type, useragent):
def create(url, time_taken, log_datetime, type, useragent, ip):
# if not hasattr(ElaspedTimeDocumentManager, 'mapping_created'):
# ElapsedTimeDocument.init()
# setattr(ElaspedTimeDocumentManager, 'mapping_created', True)
@ -59,7 +60,7 @@ class ElaspedTimeDocumentManager():
time_taken=time_taken,
log_datetime=log_datetime,
type=type,
useragent=useragent)
useragent=useragent, ip=ip)
doc.save()

@ -15,6 +15,7 @@
import time
import logging
from ipware import get_client_ip
from blog.documents import ELASTICSEARCH_ENABLED, ElaspedTimeDocumentManager
logger = logging.getLogger(__name__)
@ -30,7 +31,7 @@ class OnlineMiddleware(object):
start_time = time.time()
response = self.get_response(request)
http_user_agent = request.META.get('HTTP_USER_AGENT', '')
ip = get_client_ip(request)
if 'spider'.upper() not in http_user_agent.upper():
try:
cast_time = time.time() - start_time
@ -44,7 +45,8 @@ class OnlineMiddleware(object):
time_taken=time_taken,
log_datetime=timezone.now(),
type='blog',
useragent=http_user_agent)
useragent=http_user_agent,
ip=ip)
response.content = response.content.replace(
b'<!!LOAD_TIMES!!>', str.encode(str(cast_time)[:5]))
except Exception as e:

Loading…
Cancel
Save