скрипты для сайта python

CGI: пишем простой сайт на Python. Часть 1: Hello world

Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Настройка локального сервера

В Python уже есть встроенный CGI сервер, поэтому его настройка элементарна.

Для запуска из консоли (для любителей linux-систем). Запускать нужно из той папки, где мы хотим работать:

Для сидящих на Windows чуть проще будет запуск Python файла (заметьте, что он должен находиться в той же папке, в которой мы планируем работать!):

Теперь откройте браузер и в адресной строке наберите localhost:8000

Если у вас примерно такая же картина, значит, у вас все заработало!

Hello world

Теперь в той папке, где мы запустили сервер, создаём папку cgi-bin (у меня она уже создана).

В этой папке создаём скрипт hello.py со следующим содержимым:

Первая строка говорит о том, что это Python скрипт (CGI-скрипты можно не только на Python писать).

Вторая строка печатает заголовок. Он обозначает, что это будет html файл (бывает ещё css, javascript, pdf и куча других, и браузер различает их по заголовкам).

Третья строка (просто символ новой строки) отделяет заголовки от тела ответа.

Четвёртая печатает Hello world.

Теперь переходим на localhost:8000/cgi-bin/hello.py

Если у вас не работает, проверьте, установлены ли права на выполнение.

Также в консоли запущенного сервера появляются сообщения об ошибках. Например, убрал скобочку и обновил страницу:

В следующей части мы рассмотрим обработку данных форм и cookies.

Источник

Как запустить скрипт Python (пошаговое руководство)

В этом руководстве рассказывается о том, как создать и как запустить скрипт на Python.

Программирование или скриптинг?

Обработку данных на основе Python можно разбить на маленькие этапы. Например:

Скрипт Python похож на сценарий фильма. В нем вы точно записываете, должен делать компьютер.

Как создать скрипт Python

скрипты для сайта python. 53693 258925. скрипты для сайта python фото. скрипты для сайта python-53693 258925. картинка скрипты для сайта python. картинка 53693 258925. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Как превратить код Python для Jupyter Notebook в скрипт Python?

Создадим скрипт Python

Шаг №1 — откройте текстовый редактор.

Если вы находитесь на удаленном сервере, откройте свой любимый текстовый редактор. Для этого введите команду:

скрипты для сайта python. 53693 258976. скрипты для сайта python фото. скрипты для сайта python-53693 258976. картинка скрипты для сайта python. картинка 53693 258976. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Вы можете использовать любой текстовый редактор (vim, nano и т. д.).
Но если вы хотите что-то более продвинутое, я настоятельно рекомендую Sublime Text 3.

скрипты для сайта python. 53693 259017. скрипты для сайта python фото. скрипты для сайта python-53693 259017. картинка скрипты для сайта python. картинка 53693 259017. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Шаг №2 — скопируйте и вставьте код!

Скопируйте и вставьте весь код из Jupyter Notebook в текстовый редактор:

скрипты для сайта python. 53693 259064. скрипты для сайта python фото. скрипты для сайта python-53693 259064. картинка скрипты для сайта python. картинка 53693 259064. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Нажмите кнопку 10-Quit в правом нижнем углу (или Esc+0 на клавиатуре).

скрипты для сайта python. 53693 259134. скрипты для сайта python фото. скрипты для сайта python-53693 259134. картинка скрипты для сайта python. картинка 53693 259134. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

скрипты для сайта python. 53693 259179. скрипты для сайта python фото. скрипты для сайта python-53693 259179. картинка скрипты для сайта python. картинка 53693 259179. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Шаг № 4 — Снова откройте текстовый файл

Вернемся к редактированию файла, набрав команду:

Теперь код выглядит более похожим на Python с различной подсветкой:

скрипты для сайта python. 53693 259243. скрипты для сайта python фото. скрипты для сайта python-53693 259243. картинка скрипты для сайта python. картинка 53693 259243. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Шаг № 5 — Добавьте Shebang!

Shebang — это строка кода, которую нужно поместить в самом начале скрипта. Его задача – сообщить ОС, что у вас есть исполняемый файл Python3.

Строка shebang для скриптов Python3 выглядит следующим образом:

скрипты для сайта python. 53693 259303. скрипты для сайта python фото. скрипты для сайта python-53693 259303. картинка скрипты для сайта python. картинка 53693 259303. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Если честно, ваш скрипт будет работать и без него. Несмотря на это, я предпочитаю добавлять Shebang по нескольким причинам:

Дополнительно: шаг № 6 — сделать скрипты на Python исполняемыми

После добавления Shebang, снова сохраните файл и попробуйте запустить скрипт, введя команду:

В некоторых случаях (в зависимости от конфигурации используемого сервера) вы получите ошибку прав доступа:

В Python подобная ошибка прав доступа не возникает. Если вы не столкнулись с этой проблемой, просто перейдите к шагу № 7.

Если у вас возникла ошибка прав доступа, в командной строке введите этот код:

скрипты для сайта python. 53693 259411. скрипты для сайта python фото. скрипты для сайта python-53693 259411. картинка скрипты для сайта python. картинка 53693 259411. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Затем введите свой пароль.

Шаг №7 — запустите скрипт на Python!

Запустите скрипт, введя команду:

скрипты для сайта python. 53693 259468. скрипты для сайта python фото. скрипты для сайта python-53693 259468. картинка скрипты для сайта python. картинка 53693 259468. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Это означает, что ваш скрипт на Python запущен… Но вы не видите никакого результата на экране.

Шаг № 8 — почему я ничего не вижу?

В большинстве случаев, когда вы конвертируете проект Jupyter Notebook в скрипт Python, вы не увидите на экране ничего. Это потому, что последняя строка вашего кода была такой:

скрипты для сайта python. 53693 259512. скрипты для сайта python фото. скрипты для сайта python-53693 259512. картинка скрипты для сайта python. картинка 53693 259512. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Вернитесь к своему скрипту и измените последнюю строку на эту:

скрипты для сайта python. 53693 259595. скрипты для сайта python фото. скрипты для сайта python-53693 259595. картинка скрипты для сайта python. картинка 53693 259595. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Нажмите 10-Quit и Save.

Перезапустите скрипт, введя для этого команду:

Шаг № 9 — Вы создали скрипт на Python

скрипты для сайта python. 53693 259649. скрипты для сайта python фото. скрипты для сайта python-53693 259649. картинка скрипты для сайта python. картинка 53693 259649. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Вы создали скрипт на Python, и он работает. Но вы все равно захотите использовать Jupyter Notebook. Так как он является идеальным инструментом для тестирования и настройки процессов. Поэтому:

Заключение

Написание и запуск скриптов Python это не магия. Если вы знаете, как писать код на Python, то сможете освоить и скрипты

Пожалуйста, опубликуйте ваши комментарии по текущей теме материала. Мы очень благодарим вас за ваши комментарии, лайки, отклики, подписки, дизлайки!

Источник

От Python скрипта до WSGI приложения

Появилась задача написать веб интерфейс управления устройством. Управлять устройством будет Raspberry Pi. Логика управления — python, соответственно и интерфейс хотелось бы python. Хочу поделится своим опытом.

теперь localhost/index.py отвечал бодрым «Hello World!»

2. Решено было поэкспериментировать с веб фреймворками.
Под руку попался wep.py, простенький и маловесный.
code.py:

Минимальный код и на порту 8080 висит наше веб приложение
Казалось бы пробросить алиас на порт 8080, организовать авто запуск скрипта и все готово.
Да но нет, эксперименты на слабеньком компьютере показали что присутствие нашего скрипта заставляет машинку изрядно «дуться». Кроме того есть lighttpd с mod_cgi.

Как же связать простой скрипт и веб приложение.

3. Согласно описанию WSGI, для его реализации необходим интерфейс такого вида

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

4. Для запуска WSGI приложения нужен сервер. Пример скрипта который может выступать в роли простого сервера WSGI:
wsgi.py:

Теперь добавив к нашему интерфейсу его запуск получим скрипт который ответит уже на нашем lighttpd или apache, по адресу localhost/app.py
/var/www/app.py:

5. Для python 2.7 доступен модуль wsgiref который может реализовать WSGI сервер

6. Реализация WSGI c помощью flup:
установим flup

7. Простое web.py приложение с использованием flup:
/var/www/app.py:

приложение станет доступным по адресу localhost/app.py

8. По умолчанию web.py использует flup, но можно обойтись и без него.
Для запуска web.py на wsgiref необходимо:

B ссылках на скрипты web.py в конце не забывать ставить ‘/’ (app.py/), иначе ответом будет «not found». По-хорошему необходимо создать rewrite правило:

Для отладки в скриптов полезно добавить:

тогда будут видны ошибки.

Остается опробовать:
modwsgi
paste
pylons

Источник

Скрапинг сайта с помощью Python: гайд для новичков

Скрапинг сайта с помощью Python: гайд для новичков

В этой статье мы разберемся, как создать HTML скрапер на Python, который получает неофициальный доступ к коду сайта и позволяет извлечь необходимые данные.

Отличие от вызовов API

Альтернативный метод получения данных сайта — вызовы API. Взаимодействие с API — это официально предоставляемый владельцем сайта способ получения данных прямо из БД или обычных файлов. Обычно для этого требуется разрешение владельца сайта и специальный токен. Однако апи доступен не всегда, поэтому скрапинг так привлекателен, однако его законность вызывает вопросы.

Юридические соображения

Скрапинг может нарушать копирайт или правила использования сайта, особенно когда он используется для получения прибыли, конкурентного преимущества или причинения ущерба (например из-за слишком частых запросов). Однако скрапинг публично доступен и используется для личного использования, академических целей или безвредного некоммерческого использования.
Если данные являются платными, требуют регистрации, имеют явную защиту от скрапинга, содержат конфиденциальные данные или личные данные пользователей, то нужно избегать любого из видов скрапинга.

Установка Beautiful Soup в Python

Beautiful Soup — это Python библиотека для скрапинга данных сайтов через HTML код.
Установите последнюю версию библиотеки.

Чтобы делать запросы, установите requests (библиотеку для отправки HTTP запросов):

Импортируйте библиотеки в файле Python или Jupiter notebook:

И несколько стандартных библиотек, которые потребуются для скрапинга на Python:

Введение

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

Предположим, что запрос приведет к странице результатов, которая выглядит следующим образом:
скрипты для сайта python. searchingData autoconverted. скрипты для сайта python фото. скрипты для сайта python-searchingData autoconverted. картинка скрипты для сайта python. картинка searchingData autoconverted. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.
Как только мы узнаем, в каких элементах сайта хранятся необходимые данные, нам нужно придумать логику скрапинга, которая позволит нам получить всю нужную информацию из каждого объявления.
Нам предстоит ответить на следующие вопросы:

Логика получения одной точки данных

Все примеры кода для скрапинга на Python можно найти в Jupiter Notebook файле на GitHub автора.

Запрос кода сайта

Во-первых, мы используем поисковый запрос, который мы сделали в браузере в скрипте Python:

Переменная soup содержит полный HTML-код страницы с результатами поиска.

Поиск тегов-свойств

HTML классы и атрибут id

HTML-классы и id в основном используются для ссылки на класс в таблице стилей CSS, чтобы данные могли отображаться согласованным образом.
В приведенном выше примере, класс, используемый для получения информации о ценах из одного объявления, также применяется для получения цен из других объявлений (что соответствует основной цели класса).

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

скрипты для сайта python. outputprice. скрипты для сайта python фото. скрипты для сайта python-outputprice. картинка скрипты для сайта python. картинка outputprice. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.
Важное примечание: нам всегда нужно указывать элемент, в данном случае это p.

Логика получения всех точек данных с одной страницы

Чтобы получить ценники для всех объявлений, мы применяем метод find.all() вместо find():

Переменная ads теперь содержит HTML-код для каждого объявления на первой странице результатов в виде списка списков. Этот формат хранения очень полезен, так как он позволяет получить доступ к исходному коду для конкретных объявлений по индексу.

13 сентября – 9 октября, Санкт-Петербург и онлайн, Беcплатно

Чтобы получить все ценники, мы используем словарь для сбора данных:

Важное примечание: использование идентификатора позволяет находить объявления в словаре:

скрипты для сайта python. mapOutput. скрипты для сайта python фото. скрипты для сайта python-mapOutput. картинка скрипты для сайта python. картинка mapOutput. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.Получение точек данных со всех страниц

Обычно результаты поиска либо разбиваются на страницы, либо бесконечно прокручиваются вниз.

Вариант 1. Веб-сайт с пагинацией

URL-адреса, полученные в результате поискового запроса, обычно содержат информацию о текущем номере страницы.

скрипты для сайта python. paginations. скрипты для сайта python фото. скрипты для сайта python-paginations. картинка скрипты для сайта python. картинка paginations. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.
Как видно на рисунке выше, окончание URL-адреса относится к номеру страницы результатов.

Важное примечание: номер страницы в URL-адресе обычно становится видимым со второй страницы. Использование базового URL-адреса с дополнительным фрагментом &pn=1 для вызова первой страницы по-прежнему будет работать (в большинстве случаев).

Применение одного цикла for-loop поверх другого позволяет нам перебирать страницы результатов:

Определение последней страницы результатов

Вы можете задаться вопросом, как определить последнюю страницу результатов? В большинстве случаев после достижения последней страницы, любой запрос с большим числом, чем фактическое число последней страницы, приведет нас обратно на первую страницу. Следовательно, использование очень большого числа для ожидания завершения сценария не работает. Через некоторое время он начнет собирать повторяющиеся значения.

Чтобы решить эту проблему, мы будем проверять, есть ли на странице кнопка с такой ссылкой:

Вариант 2. Сайт с бесконечным скроллом

В таком случае HTML скрапер не сработает. Альтернативные методы мы обсудим в конце статьи.

Устранение несогласованности данных

Если нам нужно избавиться от ненужных данных в самом начале скрапинга на Python, мы можем использовать обходной метод:

Функция для определения аномалий

И применить его при сборе данных:

Форматирование данных на лету

Мы могли заметить, что цена хранится в строке вместе с запятыми с символом валюты. Мы можем исправить это ещё на этапе скрапинга:

Используем эту функцию:

Получение вложенных данных

Информация об общественном транспорте имеет вложенную структуру. Нам потребуются данные о расстоянии, названии станции и типе транспорта.

Отбор информации по правилам

Каждый кусочек данных представлен в виде: число миль, название станции. Используем слово «миль» в качестве разделителя.

Первоначально переменная transport хранит два списка в списке, поскольку есть две строки информации об общественном транспорте (например, “0,3 мили Слоун-сквер”, “0,5 мили Южный Кенсингтон”). Мы перебираем эти списки, используя len транспорта в качестве значений индекса, и разделяем каждую строку на две переменные: расстояние и станцию.

Поиск дополнительных HTML атрибутов для визуальной информации

В коде страницы мы можем найти атрибут testid, который указывает на тип общественного транспорта. Он не отображается в браузере, но отвечает за изображение, которое отображается на странице. Для получения этих данных нам нужно использовать класс css-StyledIcon:

Преобразование в датафрейм и экспорт в CSV

Когда скрапинг выполнен, все извлеченные данные доступны в словаре словарей.

Давайте сначала рассмотрим только одно объявление, чтобы лучше продемонстрировать заключительные шаги трансформации.
скрипты для сайта python. onead. скрипты для сайта python фото. скрипты для сайта python-onead. картинка скрипты для сайта python. картинка onead. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.Преобразуем словарь в список списков, чтобы избавиться от вложенности

скрипты для сайта python. listoflist. скрипты для сайта python фото. скрипты для сайта python-listoflist. картинка скрипты для сайта python. картинка listoflist. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Создаём датафрейм

скрипты для сайта python. dataframe autoconverted. скрипты для сайта python фото. скрипты для сайта python-dataframe autoconverted. картинка скрипты для сайта python. картинка dataframe autoconverted. Сегодня я расскажу про то, как написать Hello world, как CGI-скрипт.

Мы можем экспортировать датафрейм в CSV:

Преобразование всех объявлений в датафрейм:

Мы это сделали! Теперь наш скрапер готов к тестированию.

Ограничения HTML скрапинга и его альтернативы

Этот пример показывает, насколько простым может быть скрапинг HTML на Python в стандартном случае. Для этого не нужно исследовать документацию. Это требует, скорее, творческого мышления, чем опыта веб-разработки.

Однако HTML скраперы имеют недостатки:

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Из опыта Web-мастера: переползаем на Python

Осенью прошлого года был запущен сайт www.iso.ru, разработанный компанией ADT. «Движок» сайта, представляющий собой набор CGI скриптов, был написан на Perl. По прошествии полугода эксплуатации возникла необходимость расширить функциональность сайта. Поэтому встал вопрос о выборе языка для написания скриптов.

Perl хорошо подходит для обработки текстов и широко используется для web-программирования, однако программы, написанные на Perl, трудночитаемы и неудобны для сопровождение из-за специфического синтаксиса Perl’a. Если стоит задача быстро написать небольшой скрипт усилиями одного человека и у вас специфический склад мышления, то, возможно, Perl — это то, что вам нужно. Если же требуется разработать достаточно сложную систему и затем организовать ее поддержку коллективом специалистов, то для этих целей, на мой взгляд, более подходит Python.

Python сочетает в себе понятный синтаксис и мощь, имеет развитые средства обработки текста и создания web-приложений. Python доступен для различных операционных систем, таких как UNIX (Linux), MacOS, MS-Windows 3.1, Windows NT, OS/2 и даже MS-DOS. Скрипты, написаные на Python являются хорошо переносимыми между платформами. Если бы возникла задача перенести сайт www.iso.ru с платформы Linux на Windows NT, потребовались бы минимальные изменения кода (по существу, пришлось бы только исправить пути к файлам шаблонов).

Таким образом, решено было использовать Python для написания скриптов для сайта www.iso.ru. «Движок» сайта состоял из следующих логических частей (скриптов):

Все скрипты написаны достаточно стандартным образом: создается экземпляр класса FieldStorage, который читает содержимое формы, затем, в зависимости от наличия и содержания определенных ключей организуется ветвление, обработка данных и вывод результата. В этой статье мне хотелось бы только поделиться опытом преодоления некоторых трудностей, возникших при разработке скриптов для www.iso.ru.

Формирование HTML из шаблонов

Как известно, вывод любой CGI программы состоит из двух частей: заголовка и данных, которые разделяются пустой строкой. Сначала программа должна сообщить клиенту, какой тип данных он будет получать. Это достигается печатью набора HTTP заголовков в стандартный вывод. Например, строка

сообщает браузеру, что он будет получать стандартный HTML.

Затем, после разделительной строки, идут произвольные данные (обычно, код HTML). Конечно, можно просто вывести HTML текст оператором print, вставленным в тело программы, но это подходит лишь для небольших фрагментов HTML кода. Когда же необходимо вывести несколько десятков строчек, исходный текст программы становиться очень большим и нечитаемым, к тому же иногда необходимо использовать одни и те же фрагменты кода с незначительными изменениями. В этом случае удобно использовать шаблоны.

Вот пример шаблона гостевой книги, хранящийся в файле guestbook.tmpl:

А вот скрипт, выводящий запись в гостевой книге:

Все динамические странички на сайте www.iso.ru формируются таким способом.

Работа с сервером баз данных MySQL

Практически любой сайт, содержащий элементы взаимодействия с пользователем использует какие-либо базы данных. Сайт www.iso.ru не является исключением. В базе данных хранятся новости, события, статьи журнала, информация по зарегистрированным пользователям и многое другое. Мы используем сервер баз данных MySQL.

На данный момент MySQL является наиболее популярной платформой для создания web-приложений, так как это простой и в тоже время довольно мощный и надежный SQL сервер. MySQL как и Python поддерживает широчайший спектр платформ, включая Linux и Windows NT. Для работы с MySQL в Python используется библиотека MySQLdb, существующая как для Linux, так и для Win32.

Работа с базой данных проходит достаточно стандартно. Сначала создается объект, устанавливающий соединение с БД (Connection Object):

Затем создается объект-курсор:

После этого можно выполнять любые SQL запросы к базе данных:

Далее получаем результат запроса:

Метод fetchall возвращает кортеж записей, состоящих из кортежей полей, которые можно перебрать в цикле. Приведенная ниже программа выбирает из базы гостевой книги все сообщения автора «Иванов», подставляет их в шаблон и передает браузеру.

Отправка форм

Часто возникает задача передачи данных от пользователя на сайт (пожелания по работе сайта, материалы, которые пользователю хотелось бы разместить на сайте и т.д). В простейшем случае — это текстовое сообщение, набираемое в форме и посылаемое затем на электронный адрес поддержки сайта. В этом случае форма может выглядеть следующим образом:

Для отправки сообщений по протоколу SMTP нужно использовать библиотеку smtplib. Определяя экземпляр класса SMTP, устанавливаем соединение с SMTP сервером:

Формируем тело сообщения из полученных данных в соответствии с RFC822:

Затем вызываем метод sendmail для отсылки сообщения:

Здесь admin@iso.ru — адрес отправителя, market@iso.ru — адрес получателя. Можно реализовать и более сложную функциональность с пересылкой вложенных файлов. Для начала в форму нужно добавить поле ввода file:

Для создания почтового сообщения с вложениями удобно пользоваться классом MimeWriter, определенным в модуле MimeWriter. Чтобы избежать загромождения тела программы, можно написать функцию, получающую на входе текст сообщения (text), содержание поля file формы (file), имя файла (name), тему письма (subj), адрес получателя (address) и отправляющую по этому адресу письмо с вложением. Отправителем в данном случае всегда является admin@iso.ru.

Функция представляет файл в кодировке base64 и конструирует многокомпонентный документ MIME, который отправляет по адресу address.

А вот пример использования этой функции:

Проверка корректности форм

Большинство CGI-скриптов работают с данными, полученными из форм. Для успешного использования этих данных необходимо проверить их корректность. В простейшем случае, это — просто проверка существования заполненного поля:

Административный интерфейс

Для облегчения сопровождения сайта был разработан административный интерфейс — набор скриптов для контроля за контентом. Он состоит из следующих частей:

Все скрипты достаточно жестко привязаны к структуре сайта, поэтому нет смысла подробно разбирать их. Хочу затронуть только один момент: удобно сделать отдельную таблицу для размещения информации о полях таблиц, используемых скриптами сайта. Это позволит писать универсальные функции администрирования для разных таблиц. Например, функция, реализующая вывод списка записей на нашем сайте построена следующим образом: на входе она получает имя таблицы, по нему читается информация о таблице из служебной таблицы (названия полей, выводить ли поле в списке и т.д.) и на основании полученной информации выводится список записей. Так как список, состоящий из всех полей, очень громоздкий (статья в журнале может занимать несколько страниц), в списке выводятся только те поля, для которых в служебной таблице стоит флаг вывода в списке. Благодаря этому добавление новых таблиц в базу требует лишь записи информации о них в служебную таблицу.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *