You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

309 lines
6.4 KiB

2 years ago
`毕业设计`:微博用户情感分析系统技术文档说明
## 1、本系统开发环境搭建如下
### 1、开发环境说明
① 预先使用安装好python3.6.3|Aanconda版
② 预先装好vue2.5.2版
③ 安装virtualenv虚拟环境
```python
pip install virtualenv
```
④ 安装virtualenvrapper方便进入虚拟环境因为直接用virtualenv进入太麻烦了
```python
pip install virtualenvrapper-win
```
⑤ 接着安装虚拟环境:
```python
mkvirtualenv weibo-analysis-system
```
> 这里解释一下virtualenvrapper的命令
> 创建基本环境mkvirtualenv [环境名]
> 删除环境rmvirtualenv [环境名]
> 激活环境workon [环境名]
> 退出环境deactivate
> 列出所有环境workon 或者 lsvirtualenv -b
⑥ 进入python虚拟环境
```python
workon weibo-analysis-system
```
⑦ 安装包
```python
pip install requirements.txt #安装各种包
```
### 2、进入正题
① 创建Django项目
```python
django-admin startproject weibo-analysis-system
```
② 进入根目录创建一个APP作为后端API
```python
python manage.py startapp src
```
③ 进入weibo-analysis-system根目录安装vue
```
vue-cli webpack webview
```
④ 使用webpack打包vue.js
```
cd webview
```
```
npm install
```
```
npm run build
```
⑤ 修改weibosystem的urls使得已进入django就是vue的主页
```python
from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic.base import TemplateView
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', TemplateView.as_view(template_name="index.html")),
# url(r'^api/', include('src.urls', namespace='api'))
]
```
⑥ 修改setting让django知道从哪里找index.html
```python
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['webview/dist'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
```
⑦配置静态文件搜索路径即css+js在哪
```python
STATICFILES_DIRS = [ ## 添加静态文件路径
os.path.join(BASE_DIR, "webview/dist/static"),
]
```
### 3、开发环境配置
因为使用了Django作为后端每次修改了前端之后都要重新构建。
除了使用Django作为后端还可以在dist目录下面运行以下命令(即: http server)来看效果:
```python
hs
```
但是问题依然没有解决,我想过检测文件变化来自动构建,但是构建是秒级的,
太慢了所以我直接使用Vue.js的开发环境来调试。
```python
npm run dev
```
毫秒级但是有个新问题使用Vue.js的开发环境脱离了Django环境访问Django写的API
出现了跨域问题有两种方法解决一种是在Vue.js层上做转发proxyTable
另一种是在Django层注入header这里我使用后者
用Django的第三方包 django-cors-headers 来解决跨域问题。
进入虚拟环境安装
```python
pip install django-cors-headers
```
配置setting.py
```python
MIDDLEWARE = [
   'django.middleware.security.SecurityMiddleware',
   'django.contrib.sessions.middleware.SessionMiddleware',
   'corsheaders.middleware.CorsMiddleware', #加这一句
   'django.middleware.common.CommonMiddleware',
   'django.middleware.csrf.CsrfViewMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   'django.contrib.messages.middleware.MessageMiddleware',
   'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
```
settings.py 添加
```python
CORS_ORIGIN_ALLOW_ALL = True
```
### 4、额外说明
① 导入mysql
```python
import pymysql
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'WeiboAnalysisSystem',
'USER': 'root',
'PASSWORD': 'Aa123hsp.',
'HOST': '139.199.4.56'
}
}
```
② django和数据库打交道
> migrate负责应用和取消应用迁移。
> makemigrations负责根据您对模型所做的更改创建新的迁移。
> sqlmigrate显示迁移的SQL语句。
> showmigrations列出项目的迁移及其状态。
至此,开发环境就搭建完成了。
## 2、若是直接运行本系统运行环境安装如下
### 1、本系统运行环境安装说明
①python环境官网下载安装python3.6.3|Aanconda版
②安装python的virtualenv虚拟环境
```python
pip install virtualenv
```
③ 安装virtualenvrapper方便进入虚拟环境因为直接用virtualenv进入太麻烦了
```python
pip install virtualenvrapper-win
```
④ 接着安装虚拟环境:
```python
mkvirtualenv weibo-analysis-system
```
> 这里解释一下virtualenvrapper的命令
> 创建基本环境mkvirtualenv [环境名]
> 删除环境rmvirtualenv [环境名]
> 激活环境workon [环境名]
> 退出环境deactivate
> 列出所有环境workon 或者 lsvirtualenv -b
⑤ 进入python虚拟环境
```python
workon weibo-analysis-system
```
⑥进入本系统的文件夹weibo-analysis-system可以看到有个requirements.txt文件夹在该文件夹打开cmd使用如下命令即可安装所有python依赖
```
pip install -r requirements
```
⑦vue环境官网下载npm安装最新版、官网下载安装node v8.9.3
⑧进入本系统的文件夹weibo-analysis-system/webview使用如下命令即可安装所有vue依赖包
```
npm install
```
也可一个个安装,依赖包如下:
```
"axios": "^0.18.0",
"echarts": "^4.2.1",
"element-ui": "^2.7.2",
"lib-flexible": "^0.3.2",
"px2rem-loader": "^0.1.9",
"qs": "^6.7.0",
"v-charts": "^1.19.0",
"vue": "^2.5.2",
"vue-photo-preview": "^1.1.3",
"vue-router": "^3.0.1",
"vuex": "^3.1.0"
```
至此所有环境安装完成!
### 4、程序运行教程
①在weibo-analysis-system下打开cmd运行虚拟环境
```
workon weibo-analysis-system
```
②启动Django,可在localhost:8000查看
```
python manage.py runserver
```
③在weibo-analysis-system/scrapydserver下打开新的cmd再次进入虚拟环境启动持续爬虫服务器
```
workon weibo-analysis-system
scrapyd
```
④在weibo-analysis-system/webview下执行如下命令启动vue
```
npm run start
```
至此本程序即可正常运行!