编译环境
本项目使用的是编译软件是 PyCharm Community Edition 2023.2.5。社区版与专业版的最大不同是,在编辑配置中,专业版自带django配置,能够通过软件运行。而社区版需要命令行输入。
环境 | 版本 |
---|---|
编译软件 | PyCharm Community Edition 2023.2.5 |
python环境 | Python 3.11.5 |
django环境 | Django 3.2.19 |
查看python版本命令:python -V
; 查看Django版本命令:python -m django --version
注意Django版本与python版本需要兼容,兼容的版本如下:
Django 版本 | Python 版本 |
---|---|
1.8 | 2.7, 3.2 , 3.3, 3.4, 3.5 |
1.9, 1.10 | 2.7, 3.4, 3.5 |
1.11 | 2.7, 3.4, 3.5, 3.6 |
2.0 | 3.4, 3.5, 3.6, 3.7 |
2.1, 2.2 | 3.5, 3.6, 3.7 |
安装python、django环境完成,进行项目创建。
项目创建及文件介绍
项目结构包括:
- 项目
应用程序
项目下可以创建多个应用程序。
新建一个目录,如test。进入该目录中,
创建项目
在命令行终端中输入
cd test
django-admin startproject myproject
使用 PyCharm 编译
在之前安装python环境时,建议安装python虚拟环境,开发过程不影响系统其他软件。
安装命令 pip install virtualenv
创建虚拟环境命令 virtualenv newenv_dir
在命令行终端进入newenv_dir
目录,在Scripts文件夹下,运行activate
程序激活虚拟环境。命令为activate
在安装虚拟环境后,创建项目:
在命令行终端输入 django-admin startproject myproject
项目文件 myproject 目录包括
-
manage.py #通过该文件生成应用程序
-
myproject/
__init.py__ settings.py wsgi.py
创建应用程序
应用程序共享项目的配置环境,包括settings.py、url.py。
生成应用程序名 myapp 的命令:
cd myproject
python manage.py startapp myapp
通过应用程序实现功能,主要包括以下文件。
-
myproject/
__init.py__ admin.py #自带的管理后台 apps.py #存放当前应用程序的配置 models.py #存放数据模型,与数据库相关 views.py #存放视图,业务逻辑代码 migrations/ #这是个存放与数据库表相关变化的文件夹
程序创建的顺序
程序运行主要是 编写业务逻辑函数、编写HTML文件、建立URL(HTML与函数的对应关系)
运行需编辑的内容
HTML文件
页面通过HTML文件展示,在/myproject/文件夹下新建 templates 文件夹,将所有HTML文件放在该文件夹下,即模版文件。模版文件需要“通知”项目,在settings.py中设置。
一般BASE_DIR值为/myproject/
TEMPLATES = [
{
···
#添加路径到DIRS列表中
'DIRS': [os.path.join(BASE_DIR, 'templates')],
···
图像、音/视频、CSS、javaScript等形式文件为静态文件,静态文件是在HTML文件中引用的。需要在项目中尽显配置,建立静态文件夹 /static/,在settings.py中设置。
INSTALLED_APPS = [
···
'django.contrib.staticfiles',
]
#静态文件夹前缀
STATIC_URL = '/static/'
#静态文件目录列表——可多加路径
STATICFILES_DIRS = (
OS.PATH.JOIN(BASE_DIR, 'static'),
)
比如,<script src="/static/jaq.js"></script>
该处src以/static/开头,与STATIC_URL
中的值一致,代表 STATICFILES_DIRS
中的文件夹,Django就会在STATICFILES_DIRS
所列出的文件夹下去找。
① 模版变量 {{ 变量名 }} (注意变量名与括号之间有空格) views.py中可以通过模板变量传值
return render(request, 'xx.html',{'变量名':值})
②method属性 涉及网页提交方式,最常用有get与post两种。get一般用于请求数据,post一般用于表单提交数据。
<form class="" method="post" action="">
连接数据库
默认数据库是db.sqlite3,为了方便,使用mysql,电脑需要安装MySQL数据库。
安装Django的MySQL模块:
pip install pymysql
在MySQL中建立数据库。然后在settings.py中设置DATABASES(注意去除原来的’default’):
DATANBASES={
'default':{
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'HOST': '127.0.0.1', #数据库存储在本机
'POST': '3306', #端口号
'NAME': 'mydb', #数据库名
'USER': 'root', #数据库用户名
'PASSWORD': 'root', #数据库密码
}
}
在models.py
中建立数据库表,在该文件中每一个类生成一个数据库表。然后该应用程序必须在setting.py中注册。
INSTALLED_APPS = [
···
#注册应用程序
'myapp',
]
在myproject/ init .py下编写
import pymysql
pymysql.install_as_MySQLdb()
完成数据库表的创建,进行生成:
python manage.py makemigrations
python manage.py migrate