Я полагаю, что вы хотите визуализировать seed.html внутри реактивного компонента, потому что у вас есть этот код внутри реактивного компонента:
render(){
let seeds_page;
seeds_page = this.setState.template;
return (
<div className="form">
{seeds_page}
</div>
);
}
Чтобы выполнить это действие, вы должны убедиться, что ваш файл seed.html имееттот же синтаксис JSX.Например, этот код не работал внутри вашего компонента реакции:
<h1 class='title'>Some title</h1>
, потому что для реакции используется className вместо класса.Итак, вам нужно переписать ваш seed.html, чтобы он был похож на синтаксис JSX, или модуль найти реагирует на синтаксический анализ HTML-шаблона в коде JSX.Это будет похоже на это:
{% include 'partials/head.html' %}
<section id="woz-content" >
<div className="container">
<h1 className="page-title">Menu(edit)</h1>
</div>
...
</section>
Затем вы можете визуализировать шаблон с помощью функции render_template:
from flask import render_template
@seeds_bp.route('/seeds', methods=['GET', 'POST'])
def seeds():
user = User.query.filter_by(id=1).first()
example = "some example"
template = render_template('seeds.html', example=example)
response_object = {
'status': 'success',
'message': 'success',
'data': [{"user": user.restaurant,
"content": template}]
}
return jsonify(response_object)
Затем вы можете получить шаблон с помощью запроса axios и сохранить в шаблоне.государство.Чтобы преобразовать строку шаблона в реагирующий компонент, вы можете использовать React HTML Parser утилиту для преобразования строк HTML в компоненты React.Так что Seeds.jsx будет похож на это:
import ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 }
from 'react-html-parser';
class Seeds extends Component{
constructor (props) {
super(props);
this.state = {
restaurant:'',
email: '',
id: '',
username: '',
active: '',
admin: '',
template: ''
};
};
// ...
render(){
var seeds_page = this.state.template;
return (
<div className="form">
{ ReactHtmlParser(seeds_page) }
</div>
);
}
}
export default Seeds;