Software Development
Python Web Development(Django
+ Vue)
后端部分
1. 安装 Django 和 Mysql 驱动
- 创建一个文件夹:
Software
- 创建一个虚拟环境:
python3 -m venv env
(虚拟环境名字)
- 激活虚拟环境:
source env/bin/activate
- 安装相应的库:
pip install django mysqlclient
(mysqlclient
和pymysql
效果一样)
- 安装
pymsql
:pip install pymsql
(这是联系数据库一定要装的)
将以下代码放入project_name/setting.py
中
1 2
| import pymysql pymysql.install_as_MySQLdb()
|
- 检查是否安装成功(可选):
python -m django –version
2. 创建 Django 项目
项目结构:
1 2 3 4 5 6 7 8 9 10 11 12
| Project_name / # Django 项目文件夹 ├── manage.py # 管理脚本 ├── project_name / # 项目配置目录 │ ├── settings.py # 项目配置文件 │ ├── urls.py # 路由配置 │ ├── wsgi.py # WSGI 入口 │ └── __init__.py ├── app_name/ # 应用文件夹 │ ├── models.py # 数据库模型 │ ├── views.py # 视图函数 │ ├── urls.py # 应用路由 │ └── templates/ # 模板文件夹
|
- 创建 Django
项目:
django-admin startproject project_name
(项目名字)
- 创建应用(App):
python manage.py startapp app_name
(app
名字,可创建多个 app)
- 注册应用:打开
project_name/settings.py
,将app_name
添加到INSTALLED_APPS
:
1 2 3 4
| INSTALLED_APPS = [ 'app_name', ]
|
3. 配置 MySQL 库
- 创建数据库 打开 MySQLWorkbench,运行 SQL 代码创建数据库:
1
| CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
- 配置 Django 数据库连接
打开
project_name/settings.py
,修改DATABASES
配置:
1 2 3 4 5 6 7 8 9 10
| DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database_name', 'USER': 'root', 'PASSWORD': 'your_password', 'HOST': '127.0.0.1', 'PORT': '3306', } }
|
4. 定义数据库模型
对于models.py
,还可以通过数据库建好表后导入到文件中:
1
| python manage.py inspectdb order > app_name/models.py
|
打开app_name/models.py
,定义数据库表模型。编写代码
1 2 3 4 5 6 7
| from django.db import models
class Customer(models.Model): name = models.CharField(max_length=100) phone_number = models.CharField(max_length=15, unique=True) email = models.EmailField(blank=True, null=True) address = models.TextField(blank=True, null=True)
|
5. 创建数据库表
1
| python manage.py makemigrations
|
1
| python manage.py migrate
|
- 验证表创建 在 MySQLWorkbench
中,查看
database_name
数据库下是否生成了相应的表
6. 运行开发服务器
在 vscode 终端输入以下命令:
1
| python manage.py runserver
|
打开浏览器,访问http://127.0.0.1:8000
,查看 Django
项目是否正常运行
7. 添加视图
- 打开
app_name/views.py
,添加以下代码:
1 2 3 4 5 6
| from django.shortcuts import render from.models import Customer
def customer_list(request): customers = Customer.objects.all() return render(request, 'customer_list.html', {'customers': customers})
|
- 配置路由
在
app_name/urls.py
(没有文件需要创建一个文件)中添加以下路由:
1 2 3 4 5 6
| from django.urls import path from. import views
urlpatterns = [ path('customers/', views.customer_list, name='customer_list'), ]
|
在project_name/urls.py
下包含应用路由:
1 2 3 4 5 6 7
| from django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls),
path('sales/', include('sales.urls')), ]
|
前端部分
1. 创建 Vue 项目
npm install -g @vue/cli
- 创建 Vue 项目名:
vue create project_frontend
- 进入项目文件:
cd project_frontend
- 安装配置文件:
npm install axios vue-router
项目结构:
2. 编写相应的组件
在src/componets
下创建相应的组件,编写代码,实现前端页面功能
3. 配置路由
在src/router/index.js
文件(没有文件,需要自己创建)下添加以下代码(按照设计情况更改代码,注意要写LoginPage
,Page
很重要)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import { createRouter, createWebHistory } from 'vue-router';
import LoginPage from '@/components/Login.vue'; import RegisterPage from '@/components/Register.vue'; import DashboardPage from '@/components/Dashboard.vue';
const routes = [ { path: '/', redirect: '/login', }, { path: '/login', name: 'Login', component: LoginPage, }, { path: '/register', name: 'Register', component: RegisterPage, }, { path: '/dashboard', name: 'Dashboard', component: DashboardPage, meta: { requiresAuth: true }, }, ];
const router = createRouter({ history: createWebHistory(), routes, });
export default router;
|
4.
配置src/App.vue
和src/main.js
文件
根据实际情况进行配置
App.vue
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <template> <div id="app"> <router-view /> </div> </template>
<script> export default { name: 'App', }; </script>
<style>
</style>
|
main.js
1 2 3 4 5 6 7
| import { createApp } from 'vue'; import App from './App.vue'; import router from './router';
createApp(App) .use(router) .mount('#app');
|
5. 检查运行前端代码
在 vscode 的终端输入以下代码
打开http://localhost:8080
网址,检查是否正常显示。
运行修改:
1
| python manage.py runserver
|
打开网址http://localhost:8080
检查,是否能成功运行
前后端联系
1
| pip install django-cors-headers
|
- 将以下代码插入
project_name/setting.py
中的INSTALLED_APPS
中
- 将以下代码添加到
project_name/setting.py
中的INSTALLED_APPS
中
1 2
| 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware',
|
- 添加以下配置代码到
project_name/setting.py
中
1
| CORS_ORIGIN_ALLOW_ALL = True
|
- 更改
project_name/setting.py
中的地区位置代码
1 2
| LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai'
|
1
| python manage.py runserver
|
Python App
development(Django + React)
React 框架
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| src/ ├── components/ │ ├── Login.jsx │ ├── Register.jsx │ ├── ChatRoom.jsx │ ├── SessionList.jsx │ └── Navbar.jsx ├── pages/ │ ├── Home.jsx │ └── ChatPage.jsx ├── services/ │ └── api.js ├── App.js ├── App.css ├── index.js └──...
|
1
| npx create-react-app project_name_frontend
|
1 2
| cd chatgpt-frontend npm install axios react-router-dom
|
1
| npm start != npm run dev
|