zoukankan      html  css  js  c++  java
  • 路飞项目之项目前期准备

    目录

    1 重构项目目录,以下面目录为例

    """
    ├── luffyapi
        ├── logs/                # 项目运行时/开发时日志目录 - 包
        ├── manage.py            # 脚本文件
        ├── luffyapi/              # 项目主应用,开发时的代码保存 - 包
             ├── apps/              # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
            ├── libs/              # 第三方类库的保存目录[第三方组件、模块] - 包
            ├── settings/          # 配置目录 - 包
                ├── dev.py       # 项目开发时的本地配置
                └── pro.py      # 项目上线时的运行配置
            ├── urls.py            # 总路由
            └── utils/             # 多个模块[子应用]的公共函数类库[自己开发的组件]
        └── scripts/               # 保存项目运营时的脚本文件 - 文件夹
    """

    2 配置开发环境

    """
    1.修改 wsgi.py 与 manage.py 两个文件:
    # manage.py
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
    # wsgi.py
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod')
    # manage_prod.py
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod')
    
    2.将settings.py删除或改名,内容拷贝到settings/dev.py中
    
    3.修改dev.py文件内容
    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
    USE_TZ = False
    
    4.如果修改1后还是启动不了,需要修改启动配置,见下图
    
    5.在任何一个__init__.py文件中测试默认配置文件是否是dev.py文件
    from django.conf import settings
    print(settings)
    """

    2.1、先创建到如下目录,其中dev.py和pro.py先拷贝原先的settings.py,之后进行修改

     2.2、删除原先settings.py后,启动项目会报错

    原因:因为manage.py中指定了路径

    所以manage.py内容要改

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffyapi.settings.dev")

    注意,如果还是起不来,要做如下配置

     修改后:

    补充:如果项目上线,走的不是manage.py---》走的是wsgi.py,所以,如果项目上线,wsgi.py也要改

    2.3 国际化配置

    开发阶段修改dev.py

    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/shanghai'
    
    USE_TZ = False

    2.4 创建app,startapp在哪个目录执行,app就创建在哪个目录

    在pycharm的Terminal终端执行

    (luffy) E:django_projectluffyluffyapi>cd luffyapi
    
    (luffy) E:django_projectluffyluffyapiluffyapi>cd apps
    
    (luffy) E:django_projectluffyluffyapiluffyapiapps>python ../../manage.py startapp user
    
    (luffy) E:django_projectluffyluffyapiluffyapiapps>python ../../manage.py startapp home
    
    (luffy) E:django_projectluffyluffyapiluffyapiapps>

    建完后,项目目录

    2.5 注册app

    在dev.py中进行如下配置

    # 环境变量操作:小luffyapiBASE_DIR与apps文件夹都要添加到环境变量
    import sys
    sys.path.insert(0, BASE_DIR)
    APPS_DIR = os.path.join(BASE_DIR, 'apps')
    sys.path.insert(1, APPS_DIR)

    此时就可以注册app了,因为apps目录已经被加到环境变量了

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'user'   # 注册
    ]

     注意:此时进行导入没问题,也可以正常使用,但是pycharm飘红,做下面操作就不会飘红了,这个操作的文件夹必须在环境变量中的

    3 数据库配置

    创建数据库

    """
    1.管理员连接数据库
    >: mysql -uroot -proot
    
    2.创建数据库
    >: create database luffyapi charset='utf8';
    
    3.查看用户
    >: select user,host,password from mysql.user;
    
    # 5.7往后的版本
    >: select user,host,authentication_string from mysql.user;
    """

    为指定数据库配置指定账户

    """
    设置权限账号密码
    # 授权账号命令:grant 权限(create, update) on 库.表 to '账号'@'host' identified by '密码'
    
    1.配置任意ip都可以连入数据库的账户,通过luffy用户和密码可以对luffyapi数据库进行所有操作
    >: grant all privileges on luffyapi.* to 'luffy'@'%' identified by 'Luffy123?';
    
    2.由于数据库版本的问题,可能本地还连接不上,就给本地用户单独配置
    >: grant all privileges on luffyapi.* to 'luffy'@'localhost' identified by 'Luffy123?';
    
    3.刷新一下权限
    >: flush privileges;
    
    只能操作luffy数据库的账户
    账号:luffy
    密码:Luffy123?
    """

    配置文件配置

    # 数据库配置   dev.py配置文件中
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'luffyapi',
            'USER': 'luffy',
            'PASSWORD': 'Luffy123?',
            'HOST': '127.0.0.1',
            'PORT': 3306
        }
    }
    
    import pymysql
    pymysql.install_as_MySQLdb()

    4 User表配置

    # 用户要基于auth的user表,必须在数据库迁移命令之前操作好,后期如果再做,会出错
        -把所有app下的迁移文件,全删除
        -admin,auth app下的迁移文件删除
        -删库(数据一定要导出来),重新迁移  

    user/models.py

    from django.db import models
    
    # Create your models here.
    from django.contrib.auth.models import AbstractUser
    
    class User(AbstractUser):
        telephone = models.CharField(max_length=11,verbose_name="手机号")
        icon = models.ImageField(upload_to="icon",default="icon/default.png")

    dev.py

    MEDIA_URL='/media/'
    MEDIA_ROOT=os.path.join(BASE_DIR,'media')  #现在的BASEDIR是luffyapi下的luffyapi
    
    AUTH_USER_MODEL='user.User

    luffyapi/urls.py,暴露media接口

    from django.contrib import admin
    from django.urls import path,re_path
    from django.views.static import serve    # 暴露接口使用
    from django.conf import settings
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        # 暴露后端指定文件夹资源,这样就会把media暴露给外界
        re_path(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT})
    ]

    迁移数据库

    # 先到manage.py存在的目录
    (luffy) E:django_projectluffyluffyapiluffyapiapps>cd ..
    
    (luffy) E:django_projectluffyluffyapiluffyapi>cd ..
    
    (luffy) E:django_projectluffyluffyapi>python manage.py makemigrations
    
    (luffy) E:django_projectluffyluffyapi>python manage.py migrate
    
    (luffy) E:django_projectluffyluffyapi>

    5 Vue前端搭建

    • 安装node
    #1 安装node,官网下载,一路下一步
        node -v
        v10.16.3
    • 安装模块
    #2 安装模块
        # npm install 模块名 #npm比较慢,用淘宝的cnpm来替换npm
        # npm install -g cnpm --registry=https://registry.npm.taobao.org
    • 创建vue的工程(需要一个vue脚手架),vue3.0
    #3 安装脚手架
    # cnpm install -g @vue/cli

    如果出问题执行如下,重新走2,3

    # npm cache clean --force
    • 安装完验证:命令行下敲vue会有提示
    • 创建vue项目(vue3.0创建方式),在想要生成这个项目目录的目录下运行
    # vue create luffycity

     选择Manually,蓝色表示选中

     选中如图选项,上下键移动,空格键选中

     选择Y

    选择In package.json

     是否保存刚刚的配置,方便以后使用,选N

     等它运行完

     6 使用pycharm打开vue,并配置像启动django那样启动vue

    如果vue文件未变色,安装vue.js插件

     7 vue目录介绍

    public
        -favicon.ico   # 
        -index.html    #整个项目的单页面
    src
        -assets  #静态文件,js,css,img
        -components # 小组件,头部组件,尾部组件
        -router     # 路由相关
        -store      # vuex相关,状态管理器,临时存储数据的地方
        -views      # 页面组件
        -App.vue    # 根组件
        -main.js    # 配置文件(跟django的setting一样)
        
        
        
    #任何一个组件都有三部分
        <template>
            #html相关
        </template>
        <style>
            # css相关
        </style>
    
        <script>
            # js相关
        </script>
  • 相关阅读:
    最小生成树之算法记录【prime算法+Kruskal算法】【模板】
    hdoj 1869 六度分离【最短路径求两两边之间最长边】
    la3211
    codeforces round #414 div1+div2
    bzoj1823
    bzoj3112
    bzoj1061&&bzoj3256
    单纯形&&线性规划
    bzoj1494
    bzoj3105
  • 原文地址:https://www.cnblogs.com/baicai37/p/13324571.html
Copyright © 2011-2022 走看看