최신 웹 사이트에서 사용자 메시지 기능은 웹 사이트 상호 작용 및 사용자 경험의 중요한 부분이되었습니다. 회사 웹 사이트, 개인 블로그 또는 CMS (Content Management System)이든, 피드백을 수집하고 상호 작용을 향상시키기 위해 메시지 모듈이 필요합니다. 이 기사는 파이썬 언어를 기본으로 사용하여 플라스크와 SQLALCHEMY를 결합하여 간단하고 실용적인 CMS 메시지 시스템을 구축하는 방법을 소개합니다.
시작하기 전에 다음 개발 도구 및 종속성 라이브러리가 설치되어 있는지 확인하십시오.
다음 명령으로 신속하게 설치할 수 있습니다.
<span class="fun">Flask Flask_SQLALCHEMY를 설치하십시오</span>
메시지 시스템의 핵심은 데이터베이스 구조의 설계입니다. 우리는 SQLITE를 로컬 데이터베이스로 선택했는데, 이는 간단하고 효율적이며 빠른 개발 및 테스트에 적합합니다.
다음은 sqlalchemy를 사용하여 정의 된 데이터 모델입니다.
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
<p>db = SQLAlchemy()</p>
<p>class Message(db.Model):<br>
id = db.Column(db.Integer, primary_key=True)<br>
content = db.Column(db.String(255), nullable=False)<br>
timestamp = db.Column(db.DateTime, default=datetime.now, nullable=False)<br>
데이터베이스 초기화는 일반적으로 플라스크 응용 프로그램이 시작될 때 수행되며 구성 코드는 다음과 같습니다.
from flask import Flask
<p>app = Flask(<strong>name</strong>)<br>
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///message.db'<br>
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False</p>
<p>db.init_app(app)</p>
<p>with app.app_context():<br>
db.create_all()<br>
먼저 모든 사용자의 메시지 정보를 표시하기 위해 페이지를 구현합니다.
@app.route('/message', methods=['GET'])
def message_list():
messages = Message.query.all()
return render_template('message.html', messages=messages)
다음으로 사용자는 양식을 제출하기 위해 메시지를 남기기위한 처리 로직이 제공됩니다.
@app.route('/message/add', methods=['GET', 'POST'])
def add_message():
if request.method == 'POST':
content = request.form.get('content')
if content:
message = Message(content=content)
db.session.add(message)
db.session.commit()
flash('성공적으로 게시되었습니다')
return redirect(url_for('message_list'))
else:
flash('메시지의 내용은 비어있을 수 없습니다')
return render_template('add_message.html')
위의 두 뷰 기능을 응용 프로그램에 등록하십시오.
app.add_url_rule('/message', view_func=message_list)
app.add_url_rule('/message/add', view_func=add_message)
이 튜토리얼을 통해 Flask 기반 사용자 메시지 시스템을 구현했습니다. Flask 기반 사용자 메시지 시스템은 메시지 표시 및 제출 기능이 있으며 임베디드 CMS 시스템에서 확장 된 사용에 적합합니다.
페이징, 검증 코드, 사용자 신원 확인 등과 같은 모듈 추가와 같은 프로젝트 요구에 따라 기능을 계속 개선하여 시스템의 안정성과 보안을 더욱 향상시킬 수 있습니다.