2011-03-29 79 views
3

我想編輯出來的Django的runserver放......我想現在添加對象一樣apps.views.index定製的Django的runserver輸出

地址添加所有查詢在此請求

如何爲這個設置更改代碼?

回答

1

我認爲最好的辦法是使用記錄和一些代碼添加到這個

from django.db import connection 
sql=connection.queries 

doc = { 
       'record_hash': hash, 
       'level': record.level, 
       'channel': record.channel or u'', 
       'location': u'%s:%d' % (record.filename, record.lineno), 
       "message": record.msg, 
       'module': record.module or u'<unknown>', 
       'occurrence_count': 0, 
       'solved': False, 
       'app_id': app_id, 
       'sql': sql, 
      } 

http://docs.djangoproject.com/en/dev/topics/logging/

+0

和doc正好在哪裏? – dalore 2014-10-29 14:40:23

0

不完全是您的問題的答案,但我認爲django-debug-toolbar顯示所有的查詢和許多其他有用的信息。

2

我不會建議修改的runserver命令,但是......

django-devserver有,允許延伸的輸出,以顯示你感興趣的任何信息manage.py runserver命令的替代品。

的上面鏈接的頁面上的說明顯示瞭如何安裝,並且在底部附近有一個「構建模塊」,它顯示了擴展輸出的示例。

我不完全相信你正在尋找什麼樣的輸出,但也許是這樣的:

from devserver.modules import DevServerModule 

class ViewNameModule(DevServerModule): 
    logger_name = 'view name module' 

    def process_view(self, request, view_func, view_args, view_kwargs): 
     self.logger.info('View name: %s' % '.'.join([view_func.__module__, view_func.func_name])) 
+0

OK閱讀更多關於這一點,但我想在每一個視圖中看到此輸出 – Efazati 2011-03-30 03:45:24

+0

A [process_view中間件(http://docs.djangoproject.com/en/1.3/topics/http/middleware/#進程視圖)可以做幾乎相同的事情 - 這裏的架構基於中間件。如果你希望它在每個視圖中都可用,那麼將它與[上下文處理器](http://docs.djangoproject.com/en/1.3/ref/templates/api/#subclassing-context-requestcontext)結合起來,然後將其吐出作爲模板變量。 – meshantz 2011-03-30 12:35:31