zoukankan      html  css  js  c++  java
  • luffy项目后端初始化

    luffyapi:  --- 项目根目录

      manage.py  --- 执行脚本

      docs:  --- 文档目录(新建)

      logs:  --- 日志目录(新建)

      scripts:  --- 脚本目录(新建)

      media:  --- 媒体目录(新建)

      luffyapi:  --- 项目主应用目录

        urls:  --- 总路由

        wsgi:  --- 发布脚本

        apps:  --- 子应用目录(新建)

        libs:  --- 第三放库目录(新建)

        utils:  --- 子应用的公共组件目录(包,新建)

        settings:  --- 配置目录(包,新建)

          dev.py  --- 开发配置(新建)

          pro.py  --- 上线配置(新建)

    一、初始化事项

      1、因为修改了配置文件路径

        ①manage.py中的:

          os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings') =>

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

        ②pycharm运行环境配置中加上:DJANGO_SETTINGS_MODULE=luffyapi.settings.dev。

        ③luffyapi.wsgi.py中的:

          os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings')  =>

          os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.pro')

      2、国际化,luffyapi.settings.dev.py中:

        ①LANGUAGE_CODE = 'en-us' => 'zh-hans'。

        ②TIME_ZONE = 'UTC' => 'Asia/shanghai'。

        ③USE_TZ = True => False。

      3、创建应用:

        ①<manage.py startapp app名>在哪个目录下执行,就会将app目录创建在该目录下。

        ②cd到luffyapi.apps目录下:python ....manage.py startapp user。

      4、环境变量相关:

        ①luffyapi.settings.dev.py中:  

    # 现在的BASE_DIR不再是原本项目根目录,而变成了内部主应用目录luffyapi,不会自动加入环境变量
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # 把现在的BASE_DIR加入到环境变量
    sys.path.insert(0,BASE_DIR)
    # 把apps目录也加入到环境变量
    sys.path.insert(1,os.path.join(BASE_DIR,'apps'))

        ②右击luffyapi.apps:Mark Directory as => Sources Root。

    二、数据库相关

      1、管理员登录数据库:mysql -uroot -p123。

      2、创建项目数据库:create database luffyapi。

      3、创建数据库用户,授予luffyapi库的所有权限,并允许远程(本地连接):

        grant all privileges on luffyapi.* to 'caoyu111'@'%' identified by 'caoyu333';

        grant all privileges on luffyapi.* to 'caoyu111'@'localhost' identified by 'caoyu333';

      4、立即刷新:flush privileges。

      5、luffyapi.settings.dev.py中:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'luffyapi',
            'USER': 'luffyapi',
            'PASSWORD': 'Luffy123?',  # 密码可以环境变量中引用 sys.path.get(键,默认值)
            'HOST': '127.0.0.1',
            'PORT': 3306,
            'CHARSET': 'utf8'
        }
    }
    import pymysql
    
    pymysql.install_as_MySQLdb()

      6、异常改源码:

    # if version < (1, 3, 13):
    #     raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

     三、媒体目录

      1、luffyapi.settings.dev.py中:

    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

      2、luffyapi.urls中:

    from django.conf import settings
    from django.views.static import serve
    urlpatterns
    = [ ... re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}) ]
  • 相关阅读:
    Python内建GUI模块Tkinter(二)
    Python内建GUI模块Tkinter(一)
    验证码处理
    Python小练习
    Python中csv模块解析
    Python中xlutils解析
    Python中xlwt解析
    Python中pandas模块解析
    Python中matplotlib模块解析
    一款软件同时管理MySQL,MongoDB数据库
  • 原文地址:https://www.cnblogs.com/caoyu080202201/p/13324426.html
Copyright © 2011-2022 走看看