开发环境
系统:windows11
开发工具:vscode
开发语言:python 3.8
开发框架:django 3.2
数据库:mysql8.4.1
一、新建项目
-
进入目录E:django\study\fifth,在地址栏输入cmd。
-
创建虚拟环境:python -m venv venv
-
激活虚拟环境:venv\Scripts\activate (这里注意Scripts的S需要大写。)
-
进入虚拟环境后,安装django: pip install django==3.2
- 退出虚拟环境:deactivate
- 查看已安装内容:pip list
-
在虚拟环境中,创建django项目:django-admin startproject bokeyuan
-
在虚拟环境中,进入项目目录内:cd testa;启动服务器:python manage.py runserver
- 注意:默认端口为8000,你也可以指定你的ip和端口,例如:python manage.py runserver ip port
python manage.py runserver 192.168.1.5 1111
- 关闭服务器:命令行,键盘:ctrl+c
- 注意:默认端口为8000,你也可以指定你的ip和端口,例如:python manage.py runserver ip port
-
浏览器访问:127.0.0.1:8000 ,一般测试不指定ip和端口。若指定,就按指定ip和端口访问。
二、连接数据库
-
安装mysql数据库并创建数据库:具体步骤略
-
在虚拟环境中,安装连接mysql的库:
- mysqlclient安装需要下载具体文件,放到项目文件夹(创建虚拟环境的目录firstproject中),然后进入虚拟环境进行执行以下命令:
-
pip install mysqlclient-2.2.4-cp38-cp38-win_amd64.whl
- 或者直接安装
-
pip install mysqlclient 如果windows电脑实在装不了mysqlclient,就装pymysql,然后在项目内__init__内设置相关配置。详询其他文档
-
连接数据库和django项目,用VScode软件打开django项目。设置settings文件
-
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bokeyuan', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '147258', } }
-
-
在IDE的终端内:
-
第一次运行此条命令 python manage.py migrate 后续更新用以下两条命令 python manage.py makemigrations python manage.py migrate
-
-
创建admin管理员账户
-
python manage.py createsuperuser
按提示逐步操作建立管理员账户。
-
三、创建应用
6.创建myapp应用:python manage.py startapp myapp
- 注册myapp
-
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app', # 新增app应用在此处注册 ]
7.应用中的models.py文件,创建两个类(数据库表):
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
# 用户图标模型
class Avatar(models.Model):
# 图标名称
title = models.CharField(max_length=30, verbose_name='图片名称', help_text='图片名称,超过30个字会被截断')
# 上传时间
time = models.DateTimeField(auto_now_add=True, help_text='图片上传时间')
# 图片路径
img_url = models.CharField(max_length=300, verbose_name='图片路径')
# 是否删除
is_active = models.BooleanField(default=1)
# 在AbstractUser的基础上,给用户模型扩展两个字段:电话号码和地址
class MyUser(AbstractUser):
phone_num = models.CharField(max_length=11, verbose_name='手机号', help_text='手机号是必填项')
address = models.CharField(max_length=100, verbose_name='地址', blank=True, help_text='请输入地址')
avatar = models.ForeignKey(to=Avatar, verbose_name='头像', blank=True, null=True, on_delete=models.DO_NOTHING)
8.应用中的admin.py文件,引用上述创建的类进行注册:
from django.contrib import admin
# Register your models here.
from .models import Avatar
admin.site.register(Avatar)
9.在IDE终端中迁移数据:
python manage.py makemigrations
python manage.pu migrate
可查数据库,是否有增加表数据
10.在浏览器打开http://127.0.0.1:8000/admin,就能看见刚创建的两个类。