Linux部署Django_Vue

  • 导出依赖包

    pip3 freeze > requirements.txt
    
  • vue配置

npm install
npm install axios --save
npm i element-ui -S
npm install element-resize-detector --save
npm install echarts --save
  • config/index.js

    dev: {
    
        // Paths
        assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        proxyTable: {
          '/api':{
            target:'http://服务器ip:8000/',   
            changeOrigin:true,
            pathRewrite:{
                '^/api':''
                }
            }
        },
    
        // Various Dev Server settings
        host: '0.0.0.0', // can be overwritten by process.env.HOST
        port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
        autoOpenBrowser: true,
        errorOverlay: true,
        notifyOnErrors: true,
        poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
    
  • build/webpack.dev.conf.js

    45:	},
    46:	disableHostCheck:true
    
  • 项目目录

    andun

    andun

    settings.py

    urls.py

    dist

    • distvue打包后的文件夹:npm run build

    • 修改setting.py主要配置文件

      第一处:
      TEMPLATES = [
          {
              'BACKEND': 'django.template.backends.django.DjangoTemplates',
              'DIRS': [os.path.join(BASE_DIR, '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',
                  ],
              },
          },
      ]
      
      第二处
      
      STATIC_URL = '/static/'
      STATIC_ROOT = os.path.join(BASE_DIR, 'static')
      STATICFILES_DIRS = [
      os.path.join(BASE_DIR, "dist/static"),
      ]
      APSCHEDULER_RUN_NOW_TIMEOUT  =  25
       
       
       
       数据库设置
       DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql',
              'NAME':'andun',
              'USER':'root',
              'PASSWORD':'password',
              'HOST':'127.0.0.1',
              'PORT':'3306',
          }
      }
      
      跨域设置
      ALLOWED_HOSTS = ['*']
      
      
      # Application definition
      
      INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
          'rest_framework',
          'myapp'
      ]
      
      MIDDLEWARE = [
          'django.middleware.security.SecurityMiddleware',
          'django.contrib.sessions.middleware.SessionMiddleware',
          'django.middleware.common.CommonMiddleware',
          'corsheaders.middleware.CorsMiddleware',   #添加放到CommonMiddleware上面
          # 'django.middleware.csrf.CsrfViewMiddleware',
          'django.contrib.auth.middleware.AuthenticationMiddleware',
          'django.contrib.messages.middleware.MessageMiddleware',
          'django.middleware.clickjacking.XFrameOptionsMiddleware',
      ]
      
      
      # 跨域增加忽略,放在最下面
      CORS_ALLOW_CREDENTIALS = True
      CORS_ORIGIN_ALLOW_ALL = True
      
      
      CORS_ORIGIN_WHITELIST = (
          'http://服务器ip',
      )
      
      
      CORS_ALLOW_METHODS = (
          'DELETE',
          'GET',
          'OPTIONS',
          'PATCH',
          'POST',
          'PUT',
          'VIEW',
      )
      
      CORS_ALLOW_HEADERS = (
          'XMLHttpRequest',
          'X_FILENAME',
          'accept-encoding',
          'authorization',
          'content-type',
          'dnt',
          'origin',
          'user-agent',
          'x-csrftoken',
          'x-requested-with',
          'Pragma',
      )
      
      时区设置
      
      LANGUAGE_CODE = 'zh-Hans'
      
      TIME_ZONE = 'Asia/Shanghai'
      
      USE_I18N = True
      
      USE_L10N = True
      
      USE_TZ = True
      
      
      
    • 修改urls.py

      from django.views.generic import TemplateView
      path('', TemplateView.as_view(template_name='index.html'), name='index'),
      
  • Linux宝塔Python项目管理器

    • 打开项目管理器,添加项目

    • 等待添加项目成功,点击映射 输入已经备案好的域名点击提交,等待提交完成即可访问网站

    • 模块安装:mysqlclient

    • 访问网站还是不行 那是因为 没有设置 Nginx 配置文件,设置静态资源路径

          location /static/ {
              alias /www/wwwroot/andun/andun/dist/static/; #静态资源路径
          }
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值