如果一个网页访问速度较慢或并发量较少时,我们需要我定位时间都花在哪里,下面是一个middleware来计算python代码和数据库运行时间:
python 代码
- from datetime import datetime
- import os
- import time
-
- from django.conf import settings
- from django.db import connection
- from django.template import Template, Context
-
- class TimeMiddleware(object):
- def process_request(self, request):
- request.META['page_render_start'] = time.time()
- return None
-
- def process_response(self, request, response):
- t = Template(''' {{ stat }}
- ''')
- stat_fmt = 'Total: %.2f, Python: %.2f, DB: %.2f, Queries: %d'
- delta = datetime.now() - datetime.fromtimestamp(request.META.get('page_render_start'))
- total = delta.seconds + delta.microseconds / 1000000.0
- db = 0
- for query in connection.queries:
- db += float(query['time'])
- stat = stat_fmt % (total, total - db, db, len(connection.queries))
- print stat
- return response
讲上面代码放入一个python文件,然后在项目的settings中注册这个middleware,你就可以知道消耗时间的地方。
分享到:
相关推荐
媒体文件(如上传的教师照片)则需配置MEDIA_ROOT和MEDIA_URL,以便在运行时存储和访问。 12.测试与调试Django提供了丰富的测试工具,可以在开发过程中编写单元测试和集成测试,确保代码的正确性。同时,Django的...
Scrapy爬虫是一种基于Python的高效网页抓取框架,它为开发者提供了强大的工具来构建、管理和运行网络爬虫项目。Scrapy的核心设计理念是模块化,允许用户根据需求灵活配置各个组件,如请求调度器、下载器中间件、爬虫...
这表示有一个`Question`模型,包含问题文本和发布时间,以及一个`Choice`模型,表示问题的选项及其票数。 4. **视图(Views)**: 视图是处理用户请求并返回响应的部分。在`views.py`中,可能会有如下的视图函数...
- **中间件(Middleware)**:全局处理请求和响应的组件,可以实现日志记录、权限控制等功能。 - **表单(Forms)**:用于处理用户输入,验证数据,并与视图交互。 - **静态文件**:如CSS、JavaScript和图片,通常...
8. **测试(Testing)**:Django提供了内置的测试框架,方便编写和运行单元测试和集成测试,确保代码质量。测试通常放在tests.py文件中。 综上所述,Django_test项目展示了如何使用Python的Django框架构建一个Web...
因为数据库中存储的时间带有时区信息,而程序运行时的当前时间没有时区信息,这导致了无法直接进行时间比较。解决方案是在settings.py中将`USE_TZ`设置为`False`,并且将`TIME_ZONE`设置为适合的时区。这样,无论是...
在这个例子中,我们创建了一个User模型,包含了用户名(username)、电子邮件(email)和创建时间(created_at)字段。 2. **视图(Views)**:视图是应用的业务逻辑,负责处理HTTP请求并返回响应。它们可以是函数...
**Django项目详解** Django是一个高级的Python Web框架,用于快速开发安全且可维护的网站。...这个项目可能已经包含了这些功能的实现,通过查看源代码和理解各个组件之间的交互,可以深入学习Django的全貌。
我们使用`django.db.models`模块来创建模型,并通过`python manage.py makemigrations`和`python manage.py migrate`命令将它们应用到数据库。 2. **视图(View)**: 视图处理HTTP请求并返回响应。在归档系统中,...