当前位置: 首页 > wzjs >正文

网站 视觉上seo新手教程

网站 视觉上,seo新手教程,政府网站集约建设,上市公司年报查询网站基于Flask 3.1和Python 3.13的简易CMS以下是一个基于Flask 3.1和Python 3.13的简易CMS管理系统实现方案,包含核心功能和可运行代码示例。环境准备安装Flask和其他依赖库:pip install flask3.1.0 flask-sqlalchemy flask-login配置数据库在config.py中设置…

基于Flask 3.1和Python 3.13的简易CMS

以下是一个基于Flask 3.1和Python 3.13的简易CMS管理系统实现方案,包含核心功能和可运行代码示例。

环境准备

安装Flask和其他依赖库:

pip install flask==3.1.0 flask-sqlalchemy flask-login

配置数据库

config.py中设置SQLite数据库URI:

import osbasedir = os.path.abspath(os.path.dirname(__file__))class Config:SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db')SQLALCHEMY_TRACK_MODIFICATIONS = False

项目结构

/cms_app/static/templatesbase.htmllogin.htmldashboard.htmlposts.htmlapp.pyconfig.py

核心代码实现

配置文件和初始化(config.py)
import osclass Config:SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret-key-here'SQLALCHEMY_DATABASE_URI = 'sqlite:///site.db'SQLALCHEMY_TRACK_MODIFICATIONS = False
主应用文件(app.py)
from flask import Flask, render_template, redirect, url_for, request
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required
from config import Configapp = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
login_manager = LoginManager(app)
login_manager.login_view = 'login'# 用户模型
class User(UserMixin, db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(80), unique=True, nullable=False)password = db.Column(db.String(120), nullable=False)# 内容模型
class Post(db.Model):id = db.Column(db.Integer, primary_key=True)title = db.Column(db.String(100), nullable=False)content = db.Column(db.Text, nullable=False)@login_manager.user_loader
def load_user(user_id):return User.query.get(int(user_id))@app.route('/')
@login_required
def dashboard():posts = Post.query.all()return render_template('dashboard.html', posts=posts)@app.route('/login', methods=['GET', 'POST'])
def login():if request.method == 'POST':username = request.form['username']password = request.form['password']user = User.query.filter_by(username=username).first()if user and user.password == password:login_user(user)return redirect(url_for('dashboard'))return render_template('login.html')@app.route('/logout')
@login_required
def logout():logout_user()return redirect(url_for('login'))@app.route('/post/new', methods=['GET', 'POST'])
@login_required
def new_post():if request.method == 'POST':post = Post(title=request.form['title'], content=request.form['content'])db.session.add(post)db.session.commit()return redirect(url_for('dashboard'))return render_template('new_post.html')if __name__ == '__main__':with app.app_context():db.create_all()app.run(debug=True)

模板文件示例

base.html(模板基础文件)
<!DOCTYPE html>
<html>
<head><title>CMS System</title>
</head>
<body>{% block content %}{% endblock %}
</body>
</html>
login.html(登录页面)
{% extends "base.html" %}
{% block content %}
<h2>Login</h2>
<form method="POST"><input type="text" name="username" placeholder="Username" required><input type="password" name="password" placeholder="Password" required><button type="submit">Login</button>
</form>
{% endblock %}

运行系统

创建初始数据库和用户:

from app import app, db, User
with app.app_context():db.create_all()admin = User(username='admin', password='admin123')db.session.add(admin)db.session.commit()

启动开发服务器:

python app.py

系统将运行在http://127.0.0.1:5000,使用admin/admin123登录后可管理内容。

功能扩展建议

  1. 添加用户注册功能
  2. 实现文章分类和标签
  3. 增加富文本编辑器
  4. 添加文件上传功能
  5. 实现权限管理系统

添加用户注册功能

项目结构

创建以下目录结构:

app/__init__.pymodels.pyroutes.pytemplates/register.htmllogin.htmldashboard.html
config.py
run.py

初始化Flask应用

app/__init__.py中创建应用实例:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from config import Configapp = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)from app import routes, models

定义用户模型

app/models.py中创建User模型:

from app import dbclass User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(64), index=True, unique=True)email = db.Column(db.String(120), index=True, unique=True)password_hash = db.Column(db.String(128))def __repr__(self):return f'<User {self.username}>'

创建路由和视图

app/routes.py中实现CRUD操作:

from flask import render_template, redirect, url_for, request, flash
from app import app, db
from app.models import User@app.route('/register', methods=['GET', 'POST'])
def register():if request.method == 'POST':username = request.form['username']email = request.form['email']password = request.form['password']existing_user = User.query.filter_by(username=username).first()if existing_user:flash('Username already exists')return redirect(url_for('register'))new_user = User(username=username, email=email, password_hash=password)db.session.add(new_user)db.session.commit()flash('Registration successful')return redirect(url_for('login'))return render_template('register.html')@app.route('/users')
def users():users = User.query.all()return render_template('dashboard.html', users=users)@app.route('/delete/<int:id>')
def delete(id):user = User.query.get_or_404(id)db.session.delete(user)db.session.commit()return redirect(url_for('users'))

创建模板文件

templates/register.html中创建注册表单:

<!DOCTYPE html>
<html>
<head><title>Register</title>
</head>
<body><h1>Register</h1><form method="POST" action="{{ url_for('register') }}"><input type="text" name="username" placeholder="Username" required><input type="email" name="email" placeholder="Email" required><input type="password" name="password" placeholder="Password" required><button type="submit">Register</button></form>
</body>
</html>

templates/dashboard.html中显示用户列表:

<!DOCTYPE html>
<html>
<head><title>Users</title>
</head>
<body><h1>User List</h1><ul>{% for user in users %}<li>{{ user.username }} - {{ user.email }}<a href="{{ url_for('delete', id=user.id) }}">Delete</a></li>{% endfor %}</ul>
</body>
</html>

运行应用

run.py中创建启动脚本:

from app import app, db
from app.models import User@app.before_first_request
def create_tables():db.create_all()if __name__ == '__main__':app.run(debug=True)

运行应用:

python run.py

数据库迁移

建议使用Flask-Migrate处理数据库变更:

pip install flask-migrate

修改app/__init__.py

from flask_migrate import Migratemigrate = Migrate(app, db)

初始化迁移仓库:

flask db init
flask db migrate -m "initial migration"
flask db upgrade

http://www.dtcms.com/wzjs/320038.html

相关文章:

  • 营销网站售后调查精准营销包括哪几个方面
  • 做电路设计的兼职网站免费发布广告信息网
  • 时时彩网站建设大数据精准营销获客
  • 深圳定制型网站建设竞价运营是做什么的
  • 怎么用ngrok做网站站长工具seo查询5g5g
  • 学而思的网站哪里做的抖音关键词挖掘工具
  • wordpress pre标签鸡西网站seo
  • 南阳交友网站开发公司软广告经典例子
  • 武汉做网站云优化科技百度怎么做广告
  • 企业邮箱163登录入口邢台市seo服务
  • 成都哪家做网站品牌营销策划方案
  • 部门网站建设的目的和意义郑州网络推广培训
  • 濮阳网站设计公司seo优化是啥
  • 旅游门户网站建设百度开发平台
  • 可以做四级听力的网站搜索引擎营销案例有哪些
  • 网站建设问卷优化网站关键词排名
  • 日照 网站建设百度推广找谁做靠谱
  • 网站策划师郑州网站建设制作
  • 简单企业网站源码 asp.net 公司介绍 产品展示蚌埠seo外包
  • 重庆有哪些做网站公司好百度提交入口地址在哪
  • 网站被k是怎么回事2022千锋教育培训收费一览表
  • wordpress数据库加密公司百度官网优化
  • 电子商务网站前台建设常用的技术有自己网站怎么推广
  • 杭州网站建设杭州沃迩夫随机关键词生成器
  • 南通网站排名优化报价百度广告联盟app
  • 网站添加新闻栏怎么做网上售卖平台有哪些
  • wordpress 哪些网站吗客户营销
  • 注册网站域名有什么用建立网站一般要多少钱
  • 聊城网站建设培训班百度免费注册
  • 滨海做网站需要多少钱seo学校培训