• Vue+Django+Mysql搭建前后端分离的个人博客网站


    前言:本文适合有一定Vue或Django基础的开发者阅读,文中不会特别强调技术细节,只强调搭建的流程和配置,若有技术细节不懂请自行谷歌。

    目录

    一 、技术栈选择

    二、 环境配置

    三、 项目初始化

    更新日志 


    一 、技术栈选择

    前端Vue的所有技术栈: vue2 + vuex + vue-router + webpack

    UI库: element-ui

    网络请求:axios

    前端脚手架构建工具:vue-cli

    后端技术栈:Python+Django

    数据库: MySQL

    前端技术栈选择原因:Vue是如今最火的MVVM框架之一,它的优势是双向数据绑定、文件组件化、生态较完善等。

    后端技术栈选择原因:Django是基于Python的一款轻量级的后端框架,适合个人全栈快速开发,我青睐于它的原因是它的ORM方便高效、配置简单清晰、自带token等。

    前后端分离模式选择原因:实现并行开发,开发结束后需要进行独立部署,前端通过ajax来调用http请求调用后端的restful api。前端只需要关注页面的样式与动态数据的解析&渲染,而后端专注于具体业务逻辑。

    二、 环境配置

    本项目的系统环境:Ubuntu 18 

    本项目的开发环境:Node12.10.3  + Vue 2.9.6 + Python 3.6.8 + Django2.2.7

    本项目的开发软件:Vscode、Pycharm

    配置开发环境:

    (1)安装Node.js 和 Python

    (2)安装Django以及依赖包:

    通过Pycharm安装 Django==2.2.7  pymysql==0.9.3  djangorestframework==3.1.3

    (3)安装cnpm(直接用npm可行,但需科学上网)

    $ npm install -g cnpm --registry=https://registry.npm.taobao.org

    (4)安装Vue-cli脚手架构建工具

    $ cnpm install -g vue-cli

     

    三、 项目初始化

    (1)在命令行界面输入下列指令,创建Django应用——PythonSky:

    $ django-admin startproject PythonSky

    (2)进入创建的项目,创建应用app——childName:

    $ cd PythonSky

    $ python manage.py startapp PythonSky

    (3)在appName的跟目录,利用vue-cli创建vue应用——vueName:

    $ vue-init webpack PythonSky

    (4)进入vueName,安装模块并打包:

    $ cd PythonSky

    $ cnpm install

    $ cnpm run dev

    (5) 找到Django应用——PythonSky根目录里的urls.py(即PythonSky/urls.py),配置url路径:

    from django.contrib import admin
    from django.urls import path, include
    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('home.urls')),
    ]

    (6)在PythonSky文件根目录里的settings.py添加python的app应用:

    
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'rest_framework',
        'home'
    ]

    (7)本项目数据库为mysql,所以在PythonSky文件根目录里的settings.py修改数据库信息:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # 数据库引擎
            'NAME': 'databases',  # 数据库名
            'USER': 'root',  # 用户名
            'PASSWORD': 'root',  # 密码
            'HOST': '',  # 数据库主机,默认为localhost
            'PORT': '',  # 数据库端口,MySQL默认为3306
            'OPTIONS': {
                'autocommit': True,
            },
        }
    }

    (8)在PythonSky文件根目录里的init.py中添加pymysql配置:

    import pymysql
    pymysql.install_as_MySQLdb()

    (9)修改Django的模板渲染路径及中国时区:

    
    LANGUAGE_CODE = 'zh-Hans'
    
    TIME_ZONE = 'Asia/Shanghai'

    (10)修改home的urls,在home文件夹中创建新的api.py:

    from rest_framework.response import Response
    from rest_framework.decorators import api_view
    
    @api_view(['GET'])
    def Hello(request):
        jsonData = {'success': 'ok', 'message': 'hello world', 'data': ''}
        return Response(jsonData)
    

    (11)在Pycharm中运行Django项目,并在浏览器打开:

     

    更新日志

    2019-11-07 15:30   初始化项目

    一键三连呀!
  • 相关阅读:
    厚积薄发IT咨询
    厚积薄发SQL技巧
    厚积薄发CSS
    厚积薄发数据库迁移
    厚积薄发系统安全日志已满处理

    厚积薄发SQLServer内核架构浅析
    厚积薄发css布局页面头部
    常用正则表达式
    一条SQL语句OA
  • 原文地址:https://www.cnblogs.com/jee-cai/p/14095275.html
Copyright © 2020-2023  润新知