Linux系统Django安装和创建项目

简介: Linux系统Django安装和创建项目

一、通过 pip 安装正式发布版本

安装 pip。最简单的方式是使用 独立 pip 安装器。若你的系统早已安装 pip,你可能需要更新它,因为它可能过期了。如果它过期了,你会知道的,因为过期的用不了。

pip3 install Django


二、创建项目


创建项目的基本运行环境。

# 创建项目youckumonitor django-admin startproject youckumonitor 
# 切换到youckumonitor项目目录 cd youckumonitor/ 
# 创建应用monitor django-admin startapp monitor 
# 创建静态文件目录static mkdir static 
# 创建模板文件目录templates mkdir templates 
# 运行Django,监听80端口 python3 manage.py runserver 0.0.0.0:80


三、错误处理


3.1、sqlite报错


sqlite版本错误。

'SQLite 3.9.0 or later is required (found %s).' % Database.sqlite_version
django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).

 


解决方法:sqlite版本过低,升级sqlite版本即可。但是我们基本不用sqlite,直接使用MySQL数据库即可。


3.2、安装mysqlclient报错

MySQLdb/_mysql.c:46:20: fatal error: Python.h: No such file or directory #include "Python.h" ^ compilation terminated. error: command 'gcc' failed with exit status 1


解决方法:安装python-devel。

yum -y install python-devel yum -y install python3-devel

或者报错如下

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?


解决方法:


vim myproject/__init__.py


import pymysql


pymysql.install_as_MySQLdb()


   import pymysql


ModuleNotFoundError: No module named 'pymysql'




pip3 install  pymysql



报错


django.db.utils.OperationalError: (1193, "Unknown system variable

'default_storage_engine'")


是mysql的版本过低。我的是5.1.47,django2.2.7起码需要mysql5.7.


更新mysql版本到5.7.2后项目启动成功,快的飞起。

3.3、Python3启动django项目报错“NameError: name '_mysql' is not defined”


报错如下:

“NameError: name '_mysql' is not defined”
python3 manage.py runserver 0.0.0.0:80 ...... ...... ...... File "/usr/local/lib64/python3.6/site-packages/MySQLdb/__init__.py", line 24, in <module> version_info, _mysql.version_info, _mysql.__file__ NameError: name '_mysql' is not defined


原因是:


Mysqldb 不兼容 python3.5 以后的版本


解决方法:


使用pymysql代替MySQLdb


步骤:


安装pymysql:

pip install pymysql

打开项目在setting.py的init.py,或直接在当前py文件最开头添加如下:

importpymysqlpymysql.install_as_MySQLdb()


四、启动项目

python3 manage.py runserver  0.0.0.0:8000

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
3月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
284 3
Linux系统禁用swap
|
3月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
430 3
|
2月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
196 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
387 0
Linux系统初始化脚本
|
2月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
316 0
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
288 18
|
3月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
334 1
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1056 1
|
4月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
228 5