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

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

03.03.2018, 17:30. Показов 2641. Ответов 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,761
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,761
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,761
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,761
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 / 2082 / 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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru