国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Django中自定義中間件模塊--自動(dòng)搜索stackoveflow答案

wizChen / 2649人閱讀

摘要:中間件的分類請求期間返回期間如果需要自定義,在中添加對應(yīng)路徑的文件即可自定義方法需求場景在平時(shí)開發(fā)調(diào)試中,會遇到這樣那樣的報(bào)錯(cuò),我們自定義一個(gè)簡單的中間件,的自定義步驟很簡單,實(shí)現(xiàn)方法即可根據(jù)的和信息,調(diào)用的接口,當(dāng)報(bào)錯(cuò)時(shí)自動(dòng)搜索相關(guān)的答案

Django中間件MIDDLEWARE的分類:

請求期間:

process_request(request)
process_view(request, view_func, view_args, view_kwargs)

返回期間:

process_exception(request, exception) (only if the view raised an exception)
process_template_response(request, response) (only for template responses)
process_response(request, response)

如果需要自定義,在MIDDLEWARE_CLASSES中添加對應(yīng)路徑的文件即可

MIDDLEWARE_CLASSES = (
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.auth.middleware.SessionAuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
    "django.middleware.security.SecurityMiddleware",
    
    // 自定義Middleware方法
    "app_name.middleware.StackOverflowMiddleware",
)

需求場景

在平時(shí)django開發(fā)調(diào)試中,會遇到這樣那樣的exception報(bào)錯(cuò),我們自定義一個(gè)簡單的中間件,django的自定義步驟很簡單,實(shí)現(xiàn)process_exception方法即可

根據(jù)exception的name和信息,調(diào)用stackoveflow的接口,當(dāng)debug報(bào)錯(cuò)時(shí)自動(dòng)搜索相關(guān)的答案,節(jié)省一些時(shí)間,實(shí)現(xiàn)起來很簡單

備注:僅為介紹思路,線上代碼不要這么使用

代碼實(shí)現(xiàn)

app目錄下 middleware.py文件

import requests
from django.conf import settings

class StackOverflowMiddleware(object):
    def process_exception(self, request, exception):
        if settings.DEBUG:
            intitle = u"{}: {}".format(exception.__class__.__name__,  exception.message)
            url = "https://api.stackexchange.com/2.2/search"
            params = {
                "order": "desc",
                "sort": "votes",
                "site": "stackoverflow",
                "pagesize": 3,
                "tagged": "python;django",
                "intitle": intitle
            }
            r = requests.get(url, params=params)
            questions = r.json()
            if len(questions["items"]) > 0:
                print "
The stackoverflow answer top 3 is :
"
                for question in questions["items"][:3]:
                    print "
"
                    print question["title"]
                    print question["link"] + "
"
            else :
                print "
stackoverflow answer not found
"

        return None

效果如下:

Django版本:1.9.4
python版本:2.7.6
調(diào)試時(shí),settings.DEBUG處于開啟模式

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/44790.html

相關(guān)文章

  • Tornado vs Django選型分析

    摘要:前言項(xiàng)目中開發(fā)的幾個(gè)服務(wù)一直使用作為服務(wù)器,本人也曾提出過疑問,為什么是,得到的答案是比較,,,的并發(fā)性能最好,而且最為輕量級。的賣點(diǎn)是超高的開發(fā)效率,其性能擴(kuò)展有限的性能表現(xiàn)前兩天有寫一篇的帖子傳送門使用對鑒權(quán)接口加壓,看的性能表現(xiàn)。 前言 項(xiàng)目中開發(fā)的幾個(gè)服務(wù)一直使用tornado作為http服務(wù)器,本人也曾提出過疑問,為什么是tornado,得到的答案是比較tornado,fla...

    Arno 評論0 收藏0
  • 利用Django開發(fā)個(gè)小型商城(一)

    摘要:利用開發(fā)個(gè)小型商城我們本期的教程是教大家如何利用開發(fā)一個(gè)小型的商城這里所說的小型商城只是功能上的簡樸。并于年月在許可證下發(fā)布。這套框架是以比利時(shí)的吉普賽爵士吉他手來命名的。是重量級選手中最有代表性的一位。 利用Django開發(fā)個(gè)小型商城 我們本期的教程是教大家如何利用Django開發(fā)一個(gè)小型的商城,這里所說的小型商城只是功能上的簡樸。 作者:黃志成(小黃) 作者博客:博客地址 前提 1...

    RobinTang 評論0 收藏0
  • Django定義信號(signals)

    摘要:中自定義了一些,用于監(jiān)聽一些操作,并發(fā)出通知官方解釋提供一個(gè)信號分發(fā)器,允許解耦的應(yīng)用在框架的其它地方發(fā)生操作時(shí)會被通知到。簡單來說,信號允許特定的通知一組某些操作已經(jīng)發(fā)生。或者在請求時(shí),記錄請求信息。 django中自定義了一些singals,用于監(jiān)聽一些操作,并發(fā)出通知 官方解釋: Django 提供一個(gè)信號分發(fā)器,允許解耦的應(yīng)用在框架的其它地方發(fā)生操作時(shí)會被通知到。 ...

    Hegel_Gu 評論0 收藏0
  • django創(chuàng)建model錯(cuò)誤解答

    摘要:在沒有添加解決在中添加數(shù)據(jù)庫配置參數(shù)出錯(cuò)解決查看中參數(shù)是否配置出錯(cuò),比如數(shù)據(jù)庫指定,數(shù)據(jù)庫權(quán)限,密碼之類因?yàn)樵谥凶远x了命令,報(bào)命令重復(fù)解決刪掉自定制的,簡單的也可以在中,注釋掉模塊 1.在settings沒有添加AUTH_USER_MODEL auth.User.groups: (fields.E304) Reverse accessor for User.groups clashe...

    terro 評論0 收藏0

發(fā)表評論

0條評論

wizChen

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<