pycharm创建venv环境django项目加demo


本文主要为了便于自己快速回忆django开发流程,细节上不会太深入。

一、WIN10系统django创建项目

  1. 通过pycharm创建venv环境,目录为D:\project\djangoadmin(直接新建Django项目无法指定版本,默认下载最新版本,我这里想要安装2.1版本)
    在这里插入图片描述

  2. 成功后进入终端Terminal自动进入venv根目录,指定源安装包
    pip install django==2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install djangorestframework -i https://pypi.tuna.tsinghua.edu.cn/simple

  3. pip list查看安装成功

  4. 将venv虚拟环境的python运行环境加入PATH系统环境变量,目录如下
    D:\project\djangoadmin\venv\Scripts

  5. 创建mysite项目
    cd venv\Scripts
    django-admin.exe startproject mysite

  6. 进入目录启动项目,访问127.0.0.1:8080即可
    python manage.py runserver 0.0.0.0:8000

  7. 目录结构说明

mysite
    - mysite    # 对整个程序进行配置
	    - init      #一个空文件,它告诉Python这个目录应该被看做一个Python包
	    - settings    # 项目配置文件
	    - url      # URL对应关系(路由)
	    - wsgi     # 遵循WSIG规范,uwsgi + nginx
- manage.py     # 一个命令行工具,可以使你用多种方式对Django项目进行交互

二、创建app应用和index访问

  1. 创建dingding应用
    python manage.py startapp dingding
    在这里插入图片描述
dingding                 #应用目录
│  admin.py        #对应应用后台管理配置文件。
│  apps.py         #对应应用的配置文件。
│  models.py       #数据模块,数据库设计就在此文件中设计
│  tests.py        #自动化测试模块,可在里面编写测试脚本自动化测试
│  views.py        #视图文件,用来执行响应代码的。你在浏览器所见所得都是它处理的。
│  __init__.py
│
├─migrations        #数据迁移、移植文目录,记录数据库操作记录,内容自动生成。
│  │  __init__.py
  1. 应用创建好了,我们需要在项目目录下的mysite文件夹下的settings.py配置文件里的INSTALLED_APPS选项里注册应用。申明dingding这个文件夹是一个APP应用。
    在这里插入图片描述
  2. 修改admin页面中文和中国时区
    mysite/mysite/settings.py
    在这里插入图片描述
  3. 新增dingding应用views下响应函数
    在这里插入图片描述
  4. 新增urls配置
    在这里插入图片描述
  5. 重启服务访问http://127.0.0.1:8000/index
    在这里插入图片描述

三、mysql配置并访问admin管理页面

  1. 安装pymysql
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 修改settings.py
############修改成mysql如下
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',    #你的数据库名称
        'USER': 'root',   #你的数据库用户名
        'PASSWORD': '123456', #你的数据库密码
        'HOST': 'localhost', #你的数据库主机,留空默认为localhost
        'PORT': '3306', #你的数据库端口
    }}
  1. 在init文件下添加pymysql
import pymysql
pymysql.install_as_MySQLdb()

在这里插入图片描述
4. 创建数据库

CREATE DATABASE `test` CHARACTER SET utf8 COLLATE utf8_general_ci;
  1. 在dingding/models.py新增测试表
    在这里插入图片描述
class Music(models.Model):
    music_author = models.CharField(max_length=50, verbose_name='歌唱者')
    music_name = models.CharField(max_length=100, verbose_name='歌曲名')
    music_album = models.CharField(max_length=100, verbose_name='专辑')
    music_time = models.CharField(max_length=10, verbose_name='歌曲时间')
    music_type = models.CharField(
        max_length=100, null=True, verbose_name='歌曲类型', default=None)
    music_lyrics = models.CharField(
        max_length=100, blank=True, verbose_name='作词者')
    music_arranger = models.CharField(
        max_length=100, blank=True, verbose_name='作曲者')
  1. 执行数据库迁移
python manage.py makemigrations
python manage.py migrate
  1. 查看test数据库下的表,其中dingding_music是我们在models.py中自定义的表,其余都是admin的表
    在这里插入图片描述
  2. 创建管理员
python manage.py createsuperuser
  1. 在admin.py下向管理员页面添加应用,才能在admin页面里看到并管理
from django.contrib import admin
from .models import Music
# Register your models here.
admin.site.register(Music)
  1. 访问并登陆:http://127.0.0.1:8000/admin
    在这里插入图片描述

四、使用restframework实现restful后台

  1. pip install djangorestframework
  2. 在settings.py的INSTALLED_APPS中添加:
    在这里插入图片描述
  3. Serializers
    3.1 创建一个序列化Serialier类,提供序列化和反序列化的途径,使之可以转化为如json的表现形式.
    在dingding目录下,手动创建serializers.py:
    在这里插入图片描述
from rest_framework import serializers
from dingding.models import *

class MusicSerializer(serializers.ModelSerializer):
    class Meta:
        fields = '__all__'
        model = Music

3.2在mysite/urls.py里添加全局url,include应用dingding下的子url配置
在这里插入图片描述

from django.contrib import admin
from django.urls import path, include
from dingding import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index', views.hello),
    path('api/', include('dingding.urls')),
]

3.3在dingding/urls.py添加app应用url
在这里插入图片描述

from django.urls import path
from dingding.views import *

urlpatterns = [
        path('', MusicList.as_view()),
        path('<int:pk>/', MusicDetailView.as_view()),
        ]

3.4添加views视图函数
dingding/views.py

from django.shortcuts import render
from django.http import HttpResponse

from rest_framework import generics
from rest_framework.views import APIView
from rest_framework.response import Response

from dingding.models import *
from dingding.serializers import MusicSerializer


# Create your views here.
def hello(request):
    return HttpResponse('hello world')


class MusicList(APIView):
    def get(self, request):
        queryset = Music.objects.all()
        ret = MusicSerializer(queryset, many=True)
        return Response(ret.data)

    def post(self, request):
        music = MusicSerializer(data=request.data)
        print(request.data)

        if music.is_valid():
            music.save()
            return Response(music.data)
        else:
            return Response(music.errors)

class MusicDetailView(APIView):
    def get(self, request, pk):
        music = Music.objects.filter(pk=pk).first()
        music_ser = MusicSerializer(music)
        return Response(music_ser.data)

    def put(self, request, pk):
        music = Music.objects.filter(pk=pk).first()
        music_ser = MusicSerializer(music, data=request.data)
        if music_ser.is_valid():
            music_ser.save()
            return Response(music_ser.data)
        else:
            return Response(music_ser.errors)

    # 根据id删除
    def delete(self, request, pk):
        Music.objects.filter(pk=pk).delete()
        return Response()
  1. 插入一条数据
INSERT INTO `test`.`dingding_music` (`music_author`, `music_name`, `music_album`, `music_time`, `music_type`, `music_lyrics`, `music_arranger`) VALUES ('张学友', '爱如潮水', '吻别', '1997年1月', '流行', '张学友', '张学友');
  1. 查看所有数据:http://127.0.0.1:8000/api/
    在这里插入图片描述

  2. 根据id查看数据:http://127.0.0.1:8000/api/2/
    在这里插入图片描述

  3. post添加数据
    在这里插入图片描述

  4. 根据id删除数据
    在这里插入图片描述

  5. 根据id修改数据
    在这里插入图片描述

要在PyCharm创建venv虚拟环境,您可以按照以下步骤进行操作: 1. 打开PyCharm并导航到"Preferences"(Mac)或"Settings"(Windows)。 2. 在左侧面板中,选择"Python Interpreter"。 3. 在右侧面板的顶部,点击"Add"按钮(号图标)。 4. 在弹出的窗口中,选择"Virtualenv Environment"。 5. 在"Location"字段中,选择您想要创建虚拟环境的文件夹路径,并为虚拟环境命名。 6. 在"Base interpreter"字段中,选择您想要使用的Python解释器版本。 7. 点击"OK"按钮来创建虚拟环境创建完成后,您将在PyCharm的Python Interpreter列表中看到您新创建的虚拟环境。您可以在项目中使用该虚拟环境来安装和管理项目所需的依赖包。\[2\] 通过创建venv虚拟环境,您可以避免在系统中安装和管理大量的第三方模块,同时可以轻松切换不同的Python解释器版本,以适应不同的项目需求。这样可以提高项目的可维护性和隔离性,避免出现版本冲突和其他常见的问题。\[3\] #### 引用[.reference_title] - *1* [Pycharm创建虚拟环境](https://blog.csdn.net/qq_39208536/article/details/121493112)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python:pycharm中 虚拟环境 venv简介及实践](https://blog.csdn.net/zhanggqianglovec/article/details/128101195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值