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

使用python搭建Web项目

使用python搭建Web项目

  • 服务器基本配置
    • 安装python
    • 配置仓库镜像源
    • 安装conda管理python环境(可选)
  • 使用django 框架搭建web项目
    • 迁移数据库到mysql
    • 项目依赖

服务器基本配置

安装python

// 检测python版本
python --version
python3 --version
// 安装python3
sudo yum install python3
// 设置别名
alias python=python3
source ~/.bashrc
// 检查并安装pip
pip --version
pip3 --version
sudo yum install python3-pip

配置仓库镜像源

// 查看镜像源
pip config list
// 设置镜像源
pip config set global.index-url http://mirrors.cloud.aliyuncs.com/pypi/simple/
Writing to /Users/xxx/.config/pip/pip.conf
// 将域名设置为 trusted-host
pip config set install.trusted-host mirrors.cloud.aliyuncs.com

安装conda管理python环境(可选)

// 使用conda管理python环境

  1. 下载脚本
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  2. 运行安装
    bash Miniconda3-latest-Linux-x86_64.sh
  3. 初始化
    conda init
  4. 验证安装
    source ~/.bashrc
    conda --version
  5. 使用conda 创建、激活、退出、删除虚拟环境

使用django 框架搭建web项目

  • 安装django pip install django
  • 使用django-admin 创建项目 django-admin startproject mysite
  • 使用默认数据库sqlite,初始化表结构 python manage.py migrate
  • 启动项目 python manage.py runserver
  • 创建admin 用户 python manage.py createsuperuser
  • 登录管理后台 127.0.0.1:8000/admin

迁移数据库到mysql

修改settings.py

DATABASES = {
    # "default": {
    #     "ENGINE": "django.db.backends.sqlite3",
    #     "NAME": BASE_DIR / "db.sqlite3",
    # }

    'default': {
        'ENGINE': 'mysql.connector.django', # 使用 MySQL 后端
        'NAME': 'python_web',   # 数据库名称
        'USER': 'root', # 数据库用户名
        'PASSWORD': '',  # 数据库密码
        'HOST': 'mysql',     # 容器地址
        'PORT': '3306',     # MySQL 默认端口
    }
}

python manage.py migrate ,默认的mysqlclient 连接mysql报错
[1] 71252 segmentation fault python manage.py migrate
使用mysql-connector-python连接mysql
pip install mysql-connector-python

项目依赖

  • 依赖列表生成 pip freeze > requirements.txt
  • 依赖安装 pip install -r requirements.txt

http://www.kler.cn/a/320576.html

相关文章:

  • 【微信小程序】访客管理
  • C/C++中使用MYSQL
  • 【动手学深度学习Pytorch】1. 线性回归代码
  • w039基于Web足球青训俱乐部管理后台系统开发
  • SQL Server 查询设置 - LIKE/DISTINCT/HAVING/排序
  • RabbitMQ教程:路由(Routing)(四)
  • swiper3匀速滚动会卡顿问题,已解决
  • Linux线程同步—竞态条件与互斥锁、读写锁(C语言)
  • <Java>String类型变量的使用
  • 基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
  • 【c语言数据结构】栈的详解! 超级详细!(模拟实现,OJ练习题)
  • kubernetes K8S 挂载分布式存储 ceph
  • 算法基础8-双链表
  • Xcode16 iOS18 编译问题适配
  • 微信小程序教程:如何在个人中心实现头像贴纸功能
  • python爬虫解析工具BeautifulSoup(bs4)和CSS选择器——处理HTML和XML数据(7)
  • Windows系统修改Tomcat虚拟机内存参数
  • 《CUDA编程》3.简单CUDA程序的基本框架
  • 计算机毕业设计python+spark知识图谱房价预测系统 房源推荐系统 房源数据分析 房源可视化 房源大数据大屏 大数据毕业设计 机器学习
  • RuoYi-App根据不同角色权限实现功能按钮显隐
  • OpenHarmony(鸿蒙南向)——平台驱动指南【I2C】
  • 简易STL实现 | 红黑树的实现
  • SpringCloud-07 GateWay01 网关技术
  • 使用Okhttp-服务器不支持缓存的解决办法
  • C++之Person类
  • JavaScript中的无穷大