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

news2024/12/28 20:36:59

一、环境准备

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文件夹

python manage.py startapp systems

python manage.py startapp users

 

2、在settings.py添加app 

INSTALLED_APPS = [
    。。。。。。。
    'rest_framework',
    'users',
    'systems',

]

六、配置mysql数据库 

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

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

import os
from smartwater.settings import BASE_DIR

# ================================================= #
# ************** mysql数据库 配置  ************** #
# ================================================= #
# 数据库地址
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 

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',
    'users',
    'systems',

]
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_urls

urlpatterns = [
    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

这样差不多就行了, 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1969661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

仓颉语言 -- 网络编程

使用新版本 (2024-07-19 16:10发布的) 1、网络编程概述 网络通信是两个设备通过计算机网络进行数据交换的过程。通过编写软件达成网络通信的行为即为网络编程。 仓颉为开发者提供了基础的网络编程功能,在仓颉标准库中,用户可使用…

python3GUI--new音乐播放器!By:PyQt5(附下载地址)

文章目录 一.前言二.展示1.启动2.MV推荐3.专辑详情页4.歌手详情页5.搜索结果页6.歌曲播放页7.我喜欢歌曲页8.我喜欢专辑页 三.思路&启发1.布局2.细节3.组件复用4.项目结构5.优化速度1.Nuitka1.显著提高性能:2.减小程序体积&am…

SPSSAU | 德尔菲专家法原理及案例实操分析

德尔菲专家法Delphi是一种结构化的预测和决策方法,主要用于收集和综合专家意见,进而做出相应决策的研究方法。比如在我们建立指标体系时,首先选择20个备选指标,然后寻找10位专家进行评价(评价该20个指标是否具有可行&a…

聊聊ChatGLM6B的微调脚本及与Huggingface的关联

前言 本文首先分析微调脚本trainer.sh的内容,再剖析ChatGLM是如何与Huggingface平台对接,实现transformers库的API直接调用ChatGLM模型,最后定位到了ChatGLM模型的源码文件。 脚本分析 微调脚本: PRE_SEQ_LEN128 LR2e-2CUDA_V…

GeneAvatar: 3D 数字人编辑方案

定位: GeneAvatar是一种通用方法,用于编辑不同体积表示(如NeRFBlendShape、INSTA、Next3D)中的3D数字人,仅需一张2D图像即可实现友好的编辑操作。 核心功能: 支持使用2D编辑方法(如拖拽式GAN、文本驱动编辑等&#x…

[Bugku] web-CTF-GET

GET 1.开启环境 2.根据内容得知在网址url后输入?whatflag

字符设备驱动基础—sys文件系统,udev介绍,驱动模块在内核空间注册设备

文章目录 sys文件系统介绍设计思想应用和功能 udev介绍主要功能工作原理使用 udevadm 工具 设备文件创建流程驱动程序的注册device_create函数详解示例代码效果图 sys文件系统介绍 sysfs 是 Linux 内核中的一种虚拟文件系统,它为用户空间和内核之间提供了一种统一的…

C语言小练习(贰)

上机 计算n以内所有正奇数的和 ? n值通过键盘输入 #include <stdio.h>int main() {int sum 0;int i 1;int n;printf("请输入一个范围\n");scanf("%d",&n);do{if(i % 2 ! 0)//判断奇数{sum i;}i;}while(i < n);//限定条件printf("范围…

Python连接数据库:JDBC不是唯一选择!

你是否曾困惑于如何在Python中连接数据库?也许你听说过JDBC,但不确定它是否适用于Python?别担心,本文将为你揭开Python数据库连接的神秘面纱! 目录 JDBC vs Python数据库连接Python连接数据库的正确姿势Python的数据库连接方案为什么Python不直接使用ODBC或JDBC&#xff1f;…

正点原子imx6ull-mini-Linux驱动之阻塞IO和非阻塞IO实验(12)

阻塞和非阻塞 IO 是 Linux 驱动开发里面很常见的两种设备访问模式&#xff0c;在编写驱动的时候 一定要考虑到阻塞和非阻塞。本章我们就来学习一下阻塞和非阻塞 IO&#xff0c;以及如何在驱动程序中 处理阻塞与非阻塞&#xff0c;如何在驱动程序使用等待队列和 poll 机制。 1&…

2024-08-01升级问题记录:升级ArcGIS for Android

升级以离线方式引用的arcgis for Android &#xff0c;从10.2.7到 10.2.9 1、下载完整的aar库 地址&#xff1a;JFroghttps://esri.jfrog.io/ui/native/arcgis/com/esri/arcgis/android/arcgis-android/10.2.9/ 2、替换旧的库&#xff0c;由于10.2.7是以jar方式引用&#xf…

Win10系统,使用钉钉会议共享屏幕的时候,别人看到的都是全黑或全白屏幕

环境&#xff1a; Win10系统 钉钉7.6.0 问题描述&#xff1a; Win10系统&#xff0c;使用钉钉会议共享屏幕的时候&#xff0c;别人看到的都是全黑或全白屏幕 解决方案&#xff1a; 在Win10系统上使用钉钉会议共享屏幕出现全黑或全白的问题&#xff0c;这可能与系统升级兼容…

盘点那些实用的开发技术!!

敏感信息加密操作&#xff0c;让开发的系统更加的安全可靠&#xff01;&#xff01;Jasypt&#xff08;Java Simplified Encryption&#xff09;是一个开源的Java库&#xff0c;用于简化加密操作。https://mp.weixin.qq.com/s/sPBV8Ej46YJsElImodRjAQ每个Web开发都应了解的&…

一个前后端分离架构的低代码开发平台,支持微服务架构,支持开发SAAS项目(附源码)

前言 在当前的企业软件开发领域&#xff0c;开发者常常面临着代码重复性高、开发效率低、项目周期长等挑战。现有的软件解-决方案往往难以满足快速变化的市场需求&#xff0c;特别是在SAAS项目、企业信息管理系统&#xff08;MIS&#xff09;、内部办公系统&#xff08;OA&…

淘天笔试0508-选择题

kmp中&#xff0c;匹配失败时&#xff0c;主串不动。模式串回退&#xff1a;最长前后缀的前缀位置。 bcabbccabbacaa abbac 比较3次&#xff0c;a匹配成功 一直到匹配abb&#xff0c;比较了5次. c和a不匹配&#xff0c;比较6次。 abb最长前后缀长度为0&#xff0c;模式串回退到…

昇思25天学习打卡营第18天|MindSporeK近邻算法实现红酒聚类学习- MindSpore进行KNN实验

基于MobileNetv2的垃圾分类 本文档主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写&#xff08;Python语言&#xff09;&a…

[Bugku] web-CTF-alert

1.开启环境 2.根据题目得知flag就在这里&#xff0c;F12查看一下源码 3.发现编码&#xff0c;使用Unicode解码

Java数组反转,添加,排序,查找

目录 1.数组反转 2.数组添加 3.排序的介绍 冒泡排序法 4.查找 1.数组反转 定义一个数组然后将它的第一个元素与最后一个元素调换位置。 i为数组的长度减一&#xff0c;也就是最后一个元素的下标&#xff0c;j为0&#xff0c;也就是数组中第一个元素的下标&#xff0c;然后…

MATLAB(13)蚁狮群优化BP模型数据读取ALO_BP

一、前言 为了使用蚁狮优化算法&#xff08;Ant Lion Optimizer, ALO&#xff09;来优化BP&#xff08;反向传播&#xff09;神经网络模型中的参数&#xff08;如学习率、权重初始化等&#xff09;&#xff0c;我们首先需要定义蚁狮优化算法来搜索最优参数&#xff0c;然后使用…

【全网最全最详细】MYSQL 面试题大全(下)

目录 五十一、MYSQL主从复制的过程? 五十二、介绍一下InnbDB的数据页,和B+树的关系是什么? 五十三、MYSQL的驱动表是什么?如何选驱动表? 五十四、MYSQL的hash join是什么? 五十五、MYSQL执行大事务会存在什么问题? 五十六、什么是buffer pool? 五十七、buffer p…