Django+Vue+Neo4j+Pycharm/VSCode搭建项目

发布时间:2026/9/25 15:08:14

Django+Vue+Neo4j+Pycharm/VSCode搭建项目 前提条件已安装Ananconda、Pycharm/VSCode、Node.js等环境且都已经配置。一、安装 Node.js 和 npm安装和搭建参考文章Vue安装与配置教程非常详细从零基础入门到精通看完这一篇就够了-CSDN博客Vue.js 依赖 Node.js 环境因此首先需要安装 Node.js下载 Node.js 安装包建议使用 LTS 版本并运行安装程序。在安装过程中选择安装目录并勾选安装 npm同时自动配置环境变量。安装完成后打开命令行输入node -v和npm -v确认输出版本号表示安装成功。可创建全局模块和缓存目录并配置 npmnpm config set prefix 你的安装目录\node_globalnpm config set cache 你的安装目录\node_cache5.为加速 npm 下载可将源修改为淘宝镜像npm config set registry https://registry.npmmirror.com2. 使用 npm 安装 Vue在项目目录下或全局安装 Vue全局安装npm install -g vue项目本地安装npm install vue安装完成后可通过vue --version检查版本确认安装成功。​二、创建项目用命令方式和前端可视化方式1使用 Vue CLI 创建项目官方推荐使用 Vue CLI 或create-vue创建基于 Vite 的新项目安装 Vue CLInpm install -g vue/cli创建新项目vue createkgtproject这是项目名称可替换进入项目目录并启动开发服务器cdkgtprojectnpm run serve2使用可视化方式搭建VUEcmd输入vue ui​进入vue界面后进入D盘的项目文件夹点击新建项目此处命名自定义这里是kgtproject输入路径后按Enter才生效​再次确认路径输入项目名​kgtproject确认版本这里我选择Vue3等待创建创建成功后点击在编辑器中打开默认会跳转到pycharm​三、进入pycharm编辑器VSCode在第六点点击在编辑器中打开此已确保安装好了pycharm。报错点若点击在编辑器中打开没有打开显示以下内容原因是因为Vue 项目管理器无法直接启动 PyCharm同时也检测到它从淘宝镜像源获取数据时超时了。虽然 launch-editor 模块本身是支持通过pycharm参数打开编辑器的但它需要正确配置环境变量并能够被系统识别。 核心原因这个报错信息 Unable to open ... Try setting the EDITOR env variable 揭示了关键问题Vue 项目管理器无法自动推断出你的 PyCharm 安装路径因此需要你手动指定。1、导入该文件则打开pycharm编辑器自动导入该文件选择指定文件夹进入pycharm后如图自动生成图片中的文件目录​2、项目结构1. node_modules是安装node后用来存放用包管理工具下载安装的包的 文件夹 。比如webpack、gulp、grunt这些工具。不好理解的话我们可以认为这是别人写好的工具我们不用管。2. public 文件夹接下来可以看到public 文件夹这是用来存放静态资源的。我们再看public下面的这index.htmlvue项目的入口其中第十五行有一句话files wil l be auto injected也就是说生成的文件会被自动注入。我们可以注意到这句话的上方有一个div它的id是app而大家都知道在html里面id是唯一的这个app指的就是下面App.vue文件的内容。3. src文件夹接下来可以看到src文件夹资源和源码文件3.1 该目录下的assets文件夹这里面主要存放一些图片图标等。3.2 components 存放vue文件。vue文件的本质里面网页代码。里写操作和方法而写网页的样式。4.打开package.json 文件这个文件下有三个命令分别是serve /build /lint分别对应开始服务/打包成dist打包以后可以用应用服务器部署/运行代码格式检查现在我们运行npm run serve 点击上图中serve对应的绿色小按钮来看一下项目是否可以正常启动啦。然后观察pycharm下方的运行结果。​跳转即成功3、安装插件1安装vue router和Vuex打开vue ui的界面选择左侧的插件然后点击添加vue router 、添加vuex等待安装。安装后文件项目结构发生变化2安装Element UI Plus打开Pycharm的Terminal 就是终端的意思确保切到项目的路径下面了在安装的时候一定要保证路径在当前项目下输入npm install element-plus --save安装好之后更改main.js完整引入element ui的样式直接复制更改import { createApp } from vue import App from ./App.vue import router from ./router import store from ./store import ElementPlus from element-plus import element-plus/dist/index.css const app createApp(App) app.use(ElementPlus) app.use(store) app.use(router) app.mount(#app)更改后如下右侧是之前的代码测试效果清空HelloWorld.vue文件里的代码直粘贴到HelloWorld.vue文件里template el-menu :default-activeactiveIndex2 classel-menu-demo modehorizontal background-color#545c64 text-color#fff active-text-color#ffd04b selecthandleSelect el-menu-item index1Processing Center/el-menu-item el-sub-menu index2 template #titleWorkspace/template el-menu-item index2-1item one/el-menu-item el-menu-item index2-2item two/el-menu-item el-menu-item index2-3item three/el-menu-item el-sub-menu index2-4 template #titleitem four/template el-menu-item index2-4-1item one/el-menu-item el-menu-item index2-4-2item two/el-menu-item el-menu-item index2-4-3item three/el-menu-item /el-sub-menu /el-sub-menu el-menu-item index3 disabledInfo/el-menu-item el-menu-item index4Orders/el-menu-item /el-menu /template更改代码后进入readme.md依旧小绿键运行效果如下现在前端插件全部搭建完成。四、AnacondaDjango环境配置1、创建虚拟环境打开cmd创建虚拟环境conda crate -n kgtpro进入该环境conda activate kgtpro安装django和neo4jpip install djangopipinstall neo4j安装前查看django对应的pycharm、anaconda、vue等等环境的版本输入python import django // 导入django django.VERSION // 查看django版本这里我的Django 的版本是5.2.17然后进入pycharm在已经搭好的kgtproject中配置setting选择虚拟环境kgtpro2、创建dango项目环境依赖已经准备就绪进入terminal创建django项目1. 创建 Django 项目和应用在虚拟环境kgtpro激活状态下进入D:\Pycharm\pythonProject\kgproject同级目录下执行# 创建 Django 项目命名为 kgdjpro不建议为backend django-admin startproject kgdjpro # 进入 backend 目录 cd backend # 创建一个应用命名为 api python manage.py startapp api2. 配置 settings.py打开 backend/settings.py进行以下修改① 注册应用和第三方库找到 INSTALLED_APPS添加 rest_framework、corsheaders 和 apiINSTALLED_APPS [ django.contrib.admin, django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.messages, django.contrib.staticfiles, # 第三方 rest_framework, corsheaders, # 本地应用 api, ]② 添加 CORS 中间件找到 MIDDLEWARE将 corsheaders.middleware.CorsMiddleware放在最前面在 CommonMiddleware之前MIDDLEWARE [ corsheaders.middleware.CorsMiddleware, # 必须放在最前面 django.middleware.security.SecurityMiddleware, django.contrib.sessions.middleware.SessionMiddleware, django.middleware.common.CommonMiddleware, django.middleware.csrf.CsrfViewMiddleware, django.contrib.auth.middleware.AuthenticationMiddleware, django.contrib.messages.middleware.MessageMiddleware, django.middleware.clickjacking.XFrameOptionsMiddleware, ]③ 配置允许跨域的源在 settings.py文件末尾添加# 允许 Vue 开发服务器跨域访问 CORS_ALLOWED_ORIGINS [ http://localhost:8080, http://127.0.0.1:8080, ]如果你的 Vue 项目端口不是 8080请根据实际端口修改可以在 Vue 项目启动时看到端口号。五、编写 Neo4j 连接工具建议将数据库连接单独封装方便复用。1、新建 neo4j_utils.py在api目录下新建 neo4j_utils.py# api/neo4j_utils.py from neo4j import GraphDatabase # 请替换为你自己的 Neo4j 密码 NEO4J_URI bolt://localhost:7687 NEO4J_USER neo4j NEO4J_PASSWORD your_password # 修改这里 driver GraphDatabase.driver(NEO4J_URI, auth(NEO4J_USER, NEO4J_PASSWORD)) def get_neo4j_session(): return driver.session()2、编写第一个视图打开 api/views.py编写一个测试接口用于从 Neo4j 查询数据# api/views.py from django.http import JsonResponse from .neo4j_utils import get_neo4j_session def get_graph_data(request): 获取 Neo4j 中的图数据示例查询所有节点 try: with get_neo4j_session() as session: # 这里先简单查询所有节点后续可换成你的真实业务查询 result session.run(MATCH (n) RETURN n LIMIT 20) nodes [] for record in result: node record[n] # 将节点转换为字典包含 id、标签、属性 nodes.append({ id: node.element_id, # Neo4j 5.x 使用 element_id labels: list(node.labels), properties: dict(node) }) return JsonResponse({nodes: nodes, count: len(nodes)}) except Exception as e: return JsonResponse({error: str(e)}, status500)3、配置 URL 路由① 在 api 目录下创建 urls.py# api/urls.py from django.urls import path from . import views urlpatterns [ path(graph/, views.get_graph_data, namegraph_data), ]② 修改 backend/urls.py将 api 的路由包含进来# backend/urls.py from django.contrib import admin from django.urls import path, include urlpatterns [ path(admin/, admin.site.urls), path(api/, include(api.urls)), # 添加这行 ]4、测试后端接口① 启动 Django 服务器# 在 backend 目录下确保虚拟环境已激活 python manage.py runserver可能会出现404是因为访问的是 http://127.0.0.1:8000/根路径而只配置了 admin/ 和 api/ 两个路由。Django 找不到根路径对应的页面所以返回了 404。GET /favicon.ico HTTP/1.1 404浏览器自动请求网站图标就是你 Vue 项目 public 目录里的那个小图标Django 后端没有配置这个图标所以 404完全不影响。GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1 404这是 Chrome 浏览器的开发者工具自动发起的请求用于调试Django 没这个路由也很正常无需理会。[23/Sep/2026 17:19:07] GET /api/graph/ HTTP/1.1 200 18277这说明你的接口/api/graph/已经成功运行② 验证接口在浏览器中访问http://127.0.0.1:8000/api/graph/如果 Neo4j 中已经有数据你会看到类似这样的 JSON 返回{ nodes: [ {id: 4:xxx:0, labels: [Person], properties: {name: Alice, age: 28}}, ... ], count: 5 }例如我的数据返回如下Django 服务器已经成功启动了这一步不要关闭terminal5、在 Vue 前端调用接口①安装 axios回到你的 Vue 项目kgproject 目录安装 axios 并调用接口# 在 Vue 项目目录下 npm install axios②测试调用然后在 src/views/HomeView.vue 或新建组件中测试调用template div h1Neo4j 数据测试/h1 button clickfetchData获取图数据/button pre{{ graphData }}/pre /div /template script import axios from axios; export default { data() { return { graphData: null }; }, methods: { async fetchData() { try { const res await axios.get(http://127.0.0.1:8000/api/graph/); this.graphData res.data; console.log(获取成功:, res.data); } catch (err) { console.error(获取失败:, err); } } } }; /script启动项目完整步骤已经配置完成1保持前面的terminal不变打开编辑器里面的Terminal在该项目文件下启动后端cd backend python manage.py runserver2启动 Vue 项目npm run serve点击按钮3点击获取图数据有内容输出即成功六、进入VSCode编辑器这里不再重复之前的内容一、二步骤一致因为已经建好此处直接导入整个文件后直接运行1、导入文件夹不用做其他修改打开VSCode编辑器选择kgproject整个文件夹导入2、启动前后端启动django与前面一致cd backend python manage.py runserver启动vuecd kgproject npm run serve3、易错问题因为已经跑过了一次对于端口问题很容易出错4、改为允许所有端口⭐ 推荐开发阶段使用打开Django 项目的backend/settings.py文件将原来的CORS_ALLOWED_ORIGINS注释掉或删掉添加下面这行# 允许所有来源跨域访问仅限开发阶段使用 CORS_ALLOW_ALL_ORIGINS True刷新即可在VSCode可以看到效果
延伸阅读

更多相关文章

2026/9/25 15:08:14

Claude Cowork 知多少:用 TaoToken 统一 Key 打通协作配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 15:08:14

Atlas 300V 24G部署YOLO全流程详解:从ONNX转OM到INT8量化调优

1. Atlas 300V 24G到底是一张什么卡最近后台收到不少问“Atlas 300V 24G是不是运算加速卡”的消息,正好我手头在做的YOLO推理项目就是基于这张卡跑的,干脆把这段时间的踩坑经历、部署细节和调优思路一次性整理出来。先说结论:Atlas 300V 24G是…

2026/9/25 16:03:17

OpenClaw 还是 Hermes?选错了要踩坑,TaoToken 配置避雷指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 15:58:16

开源大模型本地部署与安全实战:Qwen微调、微软工具链与谷歌生态

1. 开源AI浪潮下的技术选型与安全博弈过去一年里,我身边做开发和运维的朋友聊得最多的话题,从“你用了哪个API”逐渐变成了“你本地跑了哪个模型”。这个转变背后其实是一个很明显的信号:开源大模型的能力已经跨过了“能用”的门槛&#xff0…

2026/9/24 20:24:47

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑