Форум программистов, компьютерный форум, киберфорум
Python: Flask
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173

Как делать сайт на flask и в чем его смысл

03.03.2018, 17:30. Показов 2710. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем смысл в том, что предпочитаю хранить текстовую информацию в txt файлах для удобства работы с ней. И чтобы мне потом разместить её на сайте, раньше я делал это на чистом PHP или Python примерно так:
Code
1
2
3
4
    with open(filename) as f:
        for s in f:
            s = processing_txt_to_html(s)
            print(s)
Тут решил сделать сайт с помощью flask (ну или django) и сразу столкнулся с вопросом как это лучше делать.
Пока вижу только такой вариант:
- прочитать весь текстовый файл в строку,
- обработать строку,
- вставить её в шаблон.

Но хорошо ли это?

Добавлено через 6 минут
Хотя есть еще Вариант 2, но лучше ли он:
Python
1
2
3
4
5
    with open(filename) as f:
     html = ""
        for s in f:
            html += processing_txt_to_html(s)
         return  html
Добавлено через 7 минут
Здес правда еще проблема возникает, что нельзя просто передать html-код в виде параметра шаблона. Нужно сначала сгенерить html-файл, а потом его включить.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2018, 17:30
Ответы с готовыми решениями:

Подскажите, чем написан этот сайт, возможно ли открыть его через Denver и как его редактировать?
Забрал все файлы на комп, всё не имеющее значение, имхо, убрал, архив приложил. Сайт не мой, но работать с ним придется мне. А я кроме...

Что такое Nod и в чем его смысл?
Что такое Nod и в чем его смысл?

На чем лучше делать сайт?
На чем лучше делать сайт? На WordPress, Front Page:D или в Macromedia Dreamweaver? Что сами посоветуете?

13
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
03.03.2018, 20:43
а почему не шаблоны?
https://habrahabr.ru/post/193260/
вообще-то достаточно в файле заменить '\n' на <br>
0
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
03.03.2018, 20:52  [ТС]
Цитата Сообщение от vic5710 Посмотреть сообщение
а почему не шаблоны?
https://habrahabr.ru/post/193260/
вообще-то достаточно в файле заменить '\n' на <br>
Не совсем понял. У меня там более сложная обработка текста, не только вставка <br>.
Проще было б на чистом python сделать, но не знаю как потом wsgi (и апач) с этим делом подружить.
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
03.03.2018, 21:24
Python
1
2
3
4
5
6
7
8
9
10
from flask import Flask
app =  Flask(__name__)
 
@app.route('/')
def index():
    with open('data.txt') as f:
        return f.read().replace('\n', '<br>')
 
if __name__=="__main__":
    app.run(port=8000,debug=True)
обрабатывайте как хотите

Добавлено через 7 минут
http://flask-russian-docs.read... ru/latest/
0
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
03.03.2018, 22:15  [ТС]
Цитата Сообщение от vic5710 Посмотреть сообщение
with open('data.txt') as f:
* * * * return f.read().replace('\n', '<br>'
ну да. так это без шаблонов получается, то же, что я и выше писал.
Python
1
2
3
4
5
6
with open(filename) as f:
 html = html_head;
 for s in f:
   html += some_processing_txt_to_html(s)
 html += html_tail
 return html
вопрос только насколько это адекватное решение (если текст большой)
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
03.03.2018, 23:36
ну так html и есть текст, только с добавлением тэгов, форм, стилей, JS и т.д. на запрос сервер вернет тот же текстовый файл в в html оформлении. непонятно чего вы хотите.
0
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
03.03.2018, 23:45  [ТС]
Ну ок, я не спорю. Просто думал, возможно есть какие-то стандартные подходы к вопросу. Раньше фреймворками никогда не пользовался.
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
04.03.2018, 00:11
фреймворки в основном для динамических запросов/ответов, типа работы с базами данных, магазинов.
можно и без них. я предпочитаю tornado + nginx как обратный прокси
https://github.com/tornadoweb/... ster/demos
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
05.03.2018, 18:21
Tornado для асинхронщины нужен, а у человека просто данные из текстовика берутся.

Цитата Сообщение от spyphy Посмотреть сообщение
Здес правда еще проблема возникает, что нельзя просто передать html-код в виде параметра шаблона. Нужно сначала сгенерить html-файл, а потом его включить.
Почему же нельзя? Можно, просто глупо. Шаблоны для того и создавались, чтобы туда отправлять строки и размещать их в нужном месте.
Я с читаю, что тебе нужно пересмотреть логику твоего приложения и заточить его под использование шалонов, раз уж взялся переписывать. Считывай свой файл, формируй из него необходимые коллекции и отправляй их в шаблон (где циклами и подобным сможешь все отобразить).
0
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
05.03.2018, 18:59  [ТС]
Цитата Сообщение от alex925 Посмотреть сообщение
Почему же нельзя? Можно, просто глупо. Шаблоны для того и создавались, чтобы туда отправлять строки и размещать их в нужном месте.
Я с читаю, что тебе нужно пересмотреть логику твоего приложения и заточить его под использование шалонов, раз уж взялся переписывать. Считывай свой файл, формируй из него необходимые коллекции и отправляй их в шаблон (где циклами и подобным сможешь все отобразить).
Допустим решил я не отказываться полностью от шаблонизатора Jinja2, но и при этом использовать некоторый собственный шаблонизатор. (типа я всё же python-программист, а не какой-то html верстальщик)
Короче, я формирую с помощью python какой-то html-код и хочу его вставить в шаблон. Как это сделать? (без создания временного файла)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
05.03.2018, 19:09
Ну очевидно, вот так
Python
1
render_template('index.html', some_data=you_html)
0
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
05.03.2018, 23:31  [ТС]
main.py:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, url_for
from flask import render_template
from flask import request
application = Flask(__name__)
 
@application.route("/")
def hello():
    layout = 'hello.html'
    insert = {'htmlcode': "<h1 style='color:blue'>Hello There!</h1>"}
    return render_template(layout, insert=insert)
 
if __name__ == "__main__":  
    application.run(debug=True)
hello.html:
HTML5
1
2
3
4
5
6
7
8
9
<HTML><HEAD><TITLE> flask test </TITLE>
</HEAD>
<BODY>
 
    {{ insert.htmlcode }}
    Just text
 
</BODY> 
</HTML>
Результат:
HTML5
1
2
3
4
5
6
7
8
<html><head><title> flask test </title>
</head>
<body>
 
    &lt;h1 style='color:blue'&gt;Hello There!&lt;/h1&gt;
    Just text
 
</body></html>
не то

Добавлено через 1 час 29 минут
вот так это выглядит http://test.proger.site/
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
06.03.2018, 01:49
Code
1
{{ insert.htmlcode | safe }}
0
4 / 5 / 3
Регистрация: 03.11.2012
Сообщений: 173
06.03.2018, 01:56  [ТС]
угу, спасибо, это пойдет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2018, 01:56
Помогаю со студенческими работами здесь

На чем делать сайт подскажите
Хочу создать сайт регистрации и согласования заявок (типа заявок на автотранспорт с прохождением согласования их у ответственных лиц) с...

Как заставить Flask приложение что-то делать без запроса пользователя
Здравствуйте. Вопрос возможно тривиальный, но так как только начинаю разбираться в web, то для меня он сложный. Буду признателен, если...

Необходимо определить на чем был сделан сайт? и чем его дальше редактировать!
Обычно привык что есть либо админка и html шаблон либо какой нибудь распространенный движок и опять же шаблон на html тут видимо...

в чем делать одностраничники, если сайт на Битриксе?
Здравствуйте! Дано: 1. сайт базы отдыха на битриксе forelka.net 2. знаний в сфере создания сайтов – почти ноль 3. опыт работы в...

На чем стоит делать сайт для заказчика?
Если делать с нуля, то как заказчик будет вносить изменения в сайт?(Он еще похуже меня скорее всего в этой теме будет), у CMS функционал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru