2015-11-11 4 views
1

Возможно, этот вопрос звучит довольно глупо, но я не могу понять, как это сделать. Я считаю, что это самая простая проблема (потому что просто начинайте изучать Django).Python, Django - как хранить HTTP-запросы в промежуточном программном обеспечении?

Что я знаю, я должен создать файл промежуточного программного обеспечения и подключить его к настройкам. Затем создайте представление и страницу * .html, которая покажет эти запросы и напишет их на URL.

  • Как можно сохранить последние (5/10/20 или любые) http-запросы в промежуточном программном обеспечении и показать их на странице * .html? Проблема в том, что я даже не знаю, что именно следует писать в middlaware.py и views.py, так, как это можно было бы отобразить в файле * .html. В идеале эта страница должна также обновляться после появления новых запросов. Я читаю документацию Django, некоторые другие темы с примерами промежуточного программного обеспечения, но для меня это кажется довольно сложным.

Я был бы благодарен за любые идеи и разъяснения.

P.S. Еще раз извините за фиктивный вопрос.

+3

You не может хранить HTTP-запросы в самом промежуточном программном обеспечении. Вам нужно будет сохранить их в db. –

+0

Спасибо за ответ, @DanielRoseman) Однако я не могу понять код, который должен быть написан для этой цели. Уже прочитали много блогов, но все равно ничего. – Moveton

+2

Точно так же, как вы сохраняете что-либо еще в db. С чем вы столкнулись? –

ответ

3

Во-первых, как вы сказали, вам нужна модель для сохранения информации запроса в базе данных. После того как вы создали и перенастроили новую модель, вы написать свой собственный ППО и делать то, что вы хотите в process_request метод:

from yourapp.models import YourModel 

class CustomDebugMiddleware_first(object): 
    def process_request(self, request): 
     new_http_information = YourModel(http_info=INFO_YOU_WANT_TO_SAVE) 
     new_http_information.save() 

, а затем положить путь к этому промежуточного слоя в вашем settings.py в MIDDLEWARE_CLASSES

+0

Спасибо за комментарий, это действительно имеет смысл для меня, как для абсолютного новичка) – Moveton

2

Вы можете реализовать свой собственный RequestMiddleware (который подключается до разрешения URL) или ViewMiddleware (который подключается после того, как представление было разрешено для URL-адреса).

В этом промежуточном программном обеспечении это стандартный питон. У вас есть доступ к файловой системе, базе данных, кэш-серверу, ... тому же, что и в вашем коде.

Показывать последние N Запросы на отдельной веб-странице означают, что вы создаете представление, которое извлекает данные из места, где хранится ваше промежуточное программное обеспечение.

+0

Спасибо за ответ) – Moveton

Смежные вопросы