记录一次简单的python django使用,后续调用api相关的暂时不想写。。。
windows
python 3.11.7
django
为了方便本次记录,新建了一个空的文件夹来使用。
直接在这里输入cmd
然后按下回车
为了方便管理环境,这里我用pip创建一个虚拟环境,如果没有安装virtualenv需要先用pip安装一下
- python -m pip --version
- pip3 install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple
code_test就是我们当前的空文件夹,我在这里创建一个新的虚拟环境。
code_test_env是我给这个虚拟环境命的名。
virtualenv code_test_env
查看文件夹会发现多了一个code_test_env,即刚才创建的虚拟环境:
2.4激活虚拟环境
activate激活
退出命令可以使用:deactivate
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
django-admin startproject ctproject
用vscode打开,在ctproject里面可以发现一个manage.py文件
打开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
这样就是启动成功了
另外,vscode需要配置python环境
点击右下角这里
找到前面创建的虚拟环境中的python.exe
python manage.py startapp app
在setting里面添加app
这一步放在创建简单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__'
这里用的自带的db.sqlite3,下次更新用postgres或者mysql记录一下
- python manage.py makemigrations
- python manage.py migrate
python manage.py createsuperuser
先启动
打开网页
地址加admin再使用超级用户账号登录:http://127.0.0.1:8000/admin/
新增用户add等操作这里就不赘述了