1、安装Django
pip install django
2、创建项目
进入创建项目的目录下,执行命令:
django-admin startproject djangoDemo
3、启动服务
进入djangoDemo
项目目录,执行启动命令:
python manage.py runserver [ip:port]
ip
和port
为非必须参数,ip
默认是本机ip
,port
默认是8000
如果启动失败有提示,根据提示执行命令:
python manage.py migrate
然后再次执行启动命令:
python manage.py runserver
在浏览器中请求http://127.0.0.1:8000/
,成功访问项目
4、创建应用
进入djangoDemo
项目目录,执行命令:
python manage.py startapp app
执行完成后,看到项目中会新增一个app
模块
在根目录下手动生成一个templates
文件,用来存放html
文件,并且在setting
文件下的TEMPLATES
变量中修改属性DIRS
'DIRS': [os.path.join(BASE_DIR, 'templates')],
如果提示
os
报错,则在上方添加导入import os
在templates
文件下创建一个html
文件,输入一个变量,页面代码参考如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{person_list}}</h1>
<h1>{{person_list.2}}</h1>
</body>
</html>
在app
目录下的views
中编写函数用来实现请求html
页面,并且传入参数给html
中的变量:
def person(request):
person_name = ["卡卡", "梅西", "克洛泽"]
return render(request, "person.html", {"person_list": person_name})
配置路由即urls.py
文件,首先导入app
文件下的views
文件,调用其函数person
再配置路径:
from app import views
urlpatterns = [
path('admin/', admin.site.urls),
path('person/', views.person)
]
再次运行python manage.py runserver
命令,打开浏览器加入参数:http://127.0.0.1:8000/person/
,即可看到刚刚添加的页面
5、配置数据库(MySQL)
在app
项目的__init__.py
文件中添加代码如下:
import pymysql
pymysql.install_as_MySQLdb()
在settings.py
文件中修改数据库引擎(Django默认使用Sqlit数据库,修改为MySQL数据库)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'csd-python',
"USER": 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
激活应用,在settings.py
文件中添加刚刚创建的app
应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app',
]
定义模型,在models.py
中定义模型
from django.db import models
# Create your models here.
class Grades(models.Model):
gname = models.CharField(max_length=20)
gdate = models.DateTimeField()
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
isDelete = models.BooleanField(default=False)
class Students(models.Model):
sname = models.CharField(max_length=20)
sgender = models.BooleanField(default=True)
sage = models.IntegerField()
scontend = models.CharField(max_length=20)
sgrade = models.CharField(max_length=20)
isDelete = models.BooleanField(default=False)
在数据库中生成数据表,分两步
1)生成迁移文件,执行命令,此时会在app
下生成一个migrations
目录
python manage.py makemigrations
2)执行迁移
python manage.py migrate
此时,在数据库中就生成了对应的表结构,如果需要重复执行,且提示No changes detected
,则可以先执行python manage.py makemigrations --empty app
,将migrations
目录的内容进行重置,然后再重复执行即可
6、创建管理员用户
进入到项目所在目录下,执行指令:
python manage.py createsuperuser
然后依次输入用户名,邮箱,密码即可创建成功
然后再次启动服务(python manage.py runserver
),在浏览器中访问地址http://127.0.0.1:8000/admin
,然后输入刚才创建的用户名和密码即可进入
7、汉化
修改settings.py
文件,如下,然后刷新页面即可(文件修改实时生效,无需重启)
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'