智慧水务项目(一)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中添加动态配置

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

python 复制代码
# 数据库地址
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_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

这样差不多就行了,

相关推荐
lulu12165440783 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
Ares-Wang4 小时前
Flask》》 Flask-Bcrypt 哈希加密
后端·python·flask
kongba0074 小时前
项目打包 Python Flask 项目发布与打包专家 提示词V1.0
开发语言·python·flask
belldeep4 小时前
介绍 遗传算法 与 TSP问题
python·遗传算法·ga·tsp问题
解救女汉子5 小时前
SQL触发器如何获取触发源应用名_利用APP_NAME函数追踪
jvm·数据库·python
思绪无限5 小时前
YOLOv5至YOLOv12升级:血细胞检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12·血细胞检测
skywalk81637 小时前
发现Kotti项目的python包Beaker 存在安全漏洞
开发语言·网络·python·安全
天天进步20157 小时前
Python全栈项目:从零构建基于 Django 的知识管理系统(KMS)
开发语言·python·django
珎珎啊8 小时前
Python3 迭代器与生成器
开发语言·python
思绪无限8 小时前
YOLOv5至YOLOv12升级:金属锈蚀检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·yolov12