`毕业设计`:微博用户情感分析系统技术文档说明 ## 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 ``` 至此本程序即可正常运行!