当前位置: 首页 > news >正文

智慧水务项目(一)django(drf)+angular 18 通过pycharm建立项目

一、环境准备

windows 10

pycharm

python3.11

二、pycharm 创建django项目

 

 三、建立requirements.txt

在根目录创建requirements.txt,也就是与manage.py同一目录下,先放下面几个依赖

Django
djangorestframework

pip install -r .\requirements.txt

更新下pip

python -m pip install --upgrade pip

四、创建env.py

 在根目录创建env.py,也就是与manage.py同一目录下,

五、创建app

1、创建一个用户管理app,一个系统管理app,删除templates文件夹

目录下建应用
首先先在apps目录下,新建一个和要建的app同名的文件夹,比如system,
建完目录,执行命令:

python manage.py startapp system .\apps\system

 

2、在settings.py添加app 

INSTALLED_APPS = [。。。。。。。'rest_framework','apps.system',]

六、配置mysql数据库 

1、在env.py中添加动态配置

数据库有个网址可以免费白嫖,测试可以,速度不错,

# 数据库地址
DATABASE_ENGINE = "django.db.backends.mysql"
# 数据库地址
DATABASE_HOST = "mysql.sqlpub.com"
# 数据库端口
DATABASE_PORT = 3306
# 数据库用户名
DATABASE_USER = "smartwater"
# 数据库密码
DATABASE_PASSWORD = ""
# 数据库名
DATABASE_NAME = "smartwater"
#数据库编码
DATABASE_CHARSET = "utf8mb4"
# 数据库长连接时间(默认为0,单位秒)即每次请求都重新连接,debug模式下该值应该写为0 ,mysql默认长连接超时时间为8小时
DATABASE_CONN_MAX_AGE = 0 #推荐120(2分钟),使用 None 则是无限的持久连接(不推荐)。# 表前缀
TABLE_PREFIX = "sw_"

2、在 requirements.txt添加mysqlclient

我这里都安装最新的,看情况吧,反正开始就是测试

Django
djangorestframework
mysqlclient

pip install -r .\requirements.txt 

3、在settings.py中添加数据库配置 

# ================================================= #
# ******************** 动态配置 ******************** #
# ================================================= #
from env import * 

。。。。。。。

。。。。。。。

。。。。。。。

DATABASES = {
    'default': {
        'ENGINE': DATABASE_ENGINE,
        'NAME': DATABASE_NAME,
        'USER': DATABASE_USER,
        'PASSWORD': DATABASE_PASSWORD,
        'HOST': DATABASE_HOST,
        'PORT': DATABASE_PORT,
        'CONN_MAX_AGE':DATABASE_CONN_MAX_AGE,
        'OPTIONS': {
                    'charset':DATABASE_CHARSET,
                    'init_command': 'SET default_storage_engine=INNODB', #innodb才支持事务
                }
    }
}
 

七、跨域

1、在 requirements.txt添加django-cors-headers

Django
djangorestframework
mysqlclient
django-cors-headers

pip install -r .\requirements.txt  

2、在settings.py中添加跨域配置 

INSTALLED_APPS = [。。。。。。。。'rest_framework','corsheaders',]
MIDDLEWARE = [。。。。。。。。"corsheaders.middleware.CorsMiddleware",  # 跨域中间件
]
# ================================================= #
# ******************* 跨域的配置 ******************* #
# ================================================= ## 白名单
#CORS_ORIGIN_WHITELIST = (#  
#)
# 全部允许配置
CORS_ORIGIN_ALLOW_ALL = True  
# 允许cookie
#CORS_ALLOW_CREDENTIALS = True  # 指明在跨域访问中,后端是否支持对cookie的操作

八、时序管理

在settings.py中配置时序

LANGUAGE_CODE = "zh-hans"

TIME_ZONE = "Asia/Shanghai"

USE_I18N = True

USE_L10N = True

USE_TZ = False
 

 九、接口文档api

1、在 requirements.txt添加coreapi

2、在项目路由中添加接口文档的路由

from rest_framework.documentation import include_docs_urlsurlpatterns = [re_path(r'^docs/',include_docs_urls(title='接口文档')),path('admin/', admin.site.urls),
]

3、在settings.py中配置REST_FRAMEWORK

REST_FRAMEWORK = {# 接口文档配置'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
}

十、简单测试

(venv) PS F:\angular\smartwater> python manage.py runserver 127.0.0.1:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 01, 2024 - 16:15:57
Django version 5.0.7, using settings 'smartwater.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

浏览器  http://127.0.0.1:8000/admin

这样差不多就行了, 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机基础(Windows 10+Office 2016)教程 —— 第4章 计算机网络与Internet(上)
  • 十七、【人工智能】【机器学习】【非监督学习】- K-均值 (K-Means)
  • vue实现歌词滚动效果
  • HOW - 计时器实践和注意事项
  • RFID固定资产管理系统:提升企业资产管理效率的新利器
  • mybatisplus布隆过滤器解决缓存穿透
  • <数据集>棉花识别数据集<目标检测>
  • FPGA:我的零基础学习路线(2022秋招已上岸)持续更新中~
  • asp.net mvc 三层架构开发商城系统需要前台页面代完善
  • 3千米以上音视频键鼠延长解决方案:KVM光纤延长器
  • 什么是Java并发中的锁池?
  • Redis学习[5] ——Redis过期删除和内存淘汰
  • 使用 ModelScope 本地部署图片变视频模型
  • 深入理解Java注解
  • [网鼎杯 2020 青龙组]AreUSerialz1
  • 2019.2.20 c++ 知识梳理
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • css选择器
  • Java编程基础24——递归练习
  • Java到底能干嘛?
  • js ES6 求数组的交集,并集,还有差集
  • MaxCompute访问TableStore(OTS) 数据
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python3爬取英雄联盟英雄皮肤大图
  • 从PHP迁移至Golang - 基础篇
  • 码农张的Bug人生 - 见面之礼
  • 容器服务kubernetes弹性伸缩高级用法
  • 深度学习中的信息论知识详解
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 线性表及其算法(java实现)
  • 消息队列系列二(IOT中消息队列的应用)
  • 移动端高清、多屏适配方案
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (rabbitmq的高级特性)消息可靠性
  • (八)Flask之app.route装饰器函数的参数
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)原始图像数据和PDF中的图像数据
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .Net Core 笔试1
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .Net6使用WebSocket与前端进行通信
  • .Net程序帮助文档制作
  • .net知识和学习方法系列(二十一)CLR-枚举
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • /var/lib/dpkg/lock 锁定问题
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [ Linux ] git工具的基本使用(仓库的构建,提交)