记录一次简单的python django使用,后续调用api相关的暂时不想写。。。
一、环境
windows
python 3.11.7
django
二、初步搭建
2.1 新建空文件夹
为了方便本次记录,新建了一个空的文件夹来使用。
直接在这里输入cmd
然后按下回车
2.2 安装virtualenv
为了方便管理环境,这里我用pip创建一个虚拟环境,如果没有安装virtualenv需要先用pip安装一下
python -m pip --version
pip3 install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple
2.3 创建虚拟环境
code_test就是我们当前的空文件夹,我在这里创建一个新的虚拟环境。
code_test_env是我给这个虚拟环境命的名。
virtualenv code_test_env
查看文件夹会发现多了一个code_test_env,即刚才创建的虚拟环境:
2.4激活虚拟环境
activate激活
退出命令可以使用:deactivate
2.4 安装django
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
2.5 创建django项目
django-admin startproject ctproject
用vscode打开,在ctproject里面可以发现一个manage.py文件
2.6 启动运行django开发服务器
打开vscode的终端
先激活虚拟环境,前面是在cmd里面激活的,和vscode这边的无关,我们用vscode打开项目后可以发现并不在虚拟环境里面,所以再激活一次。
切换成Command Prompt
D:\code_test\ctproject>cd ..
D:\code_test>code_test_env\Scripts\activate
进入项目文件夹,启动
(code_test_env) D:\code_test>cd ctproject
(code_test_env) D:\code_test\ctproject>python manage.py runserver
打开127.0.0.0:8000
这样就是启动成功了
2.7 vscode配置虚拟环境
另外,vscode需要配置python环境
点击右下角这里
找到前面创建的虚拟环境中的python.exe
三、定义模型和页面操作
3.1 创建应用程序
python manage.py startapp app
在setting里面添加app
3.2 定义模型
这一步放在创建简单API那里应该会更好一点
models.py
from django.db import models
# Create your models here.
# 创建一个水果模型,里面包括名字、颜色、产地、价格等属性
class Fruit(models.Model):
id = models.AutoField(primary_key=True) # 主键
name = models.CharField(max_length=50) # 名字为字符类型,最大长度为50个字符
color = models.CharField(max_length=50) # 颜色
taste = models.CharField(max_length=50) # 口感
season = models.CharField(max_length=50) # 季节
origin = models.CharField(max_length=50) # 产地
description = models.TextField() # 描述
price = models.FloatField() # 价格为浮点数类型
ceated_at = models.DateTimeField(auto_now_add=True) # 创建时间
updated_at = models.DateTimeField(auto_now=True) # 更新时间
class Meta:
db_table = 'fruit' # 数据库表名
verbose_name = '水果' # 显示名称
verbose_name_plural = '水果' # 显示复数名称
def __str__(self):
return self.name # 定义对象的显示方式
安装djangorestframework
pip install djangorestframework -i https://pypi.tuna.tsinghua.edu.cn/simple
serializers.py
from rest_framework import serializers
from app.models import Fruit
class FruitSerializer(serializers.ModelSerializer):
class Meta:
model = Fruit
fields = '__all__'
3.3 迁移数据库
这里用的自带的db.sqlite3,下次更新用postgres或者mysql记录一下
python manage.py makemigrations
python manage.py migrate
3.4 创建超级用户
python manage.py createsuperuser
3.5简单操作一下自带的user
先启动
打开网页
地址加admin再使用超级用户账号登录:http://127.0.0.1:8000/admin/
新增用户add等操作这里就不赘述了