首页 > 其他分享 >【4.0】路飞项目后端搭建

【4.0】路飞项目后端搭建

时间:2023-08-19 17:00:16浏览次数:42  
标签:4.0 项目 APP py django 路飞 luffyCity import 搭建

【一】创建django项目的两种方式

  • 创建 Django 项目有两种常用的方式
    • 一种是通过命令行,另一种是通过 PyCharm。

【1】命令行方式:

  • 打开终端或命令提示符,并进入你想要创建项目的目录。

  • 在命令行中输入以下命令:django-admin startproject 项目名

    • 其中,项目名是你为项目指定的名称,可以自己定义。
  • 执行该命令后,Django 将在当前目录下创建一个新的项目文件夹,该文件夹的名称就是你所指定的项目名。

  • 进入项目文件夹,你将看到一个名为 manage.py 的文件和一个与项目名相同的文件夹。这个文件夹将包含项目的所有代码文件和配置。

【2】PyCharm 方式:

  1. 打开 PyCharm,点击 "Create New Project" 或选择 "File -> New Project"。
  2. 在创建项目窗口中,选择左侧的 "Django"。
  3. 在右侧的选项中,填写项目名和选择项目存放的位置。
  4. 选择 "Create a new virtual environment",这将为你的项目创建一个独立的 Python 虚拟环境,以便于管理项目依赖。
  5. 在 "Django-specific settings" 部分,选择 "New application" 并输入应用程序名称,这将在项目中创建一个 Django 应用。
  6. 点击 "Create" 完成项目创建。

【二】调整目录结构

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

【三】创建APP

【1】切换到apps目录下

(venv) PS E:\Old Boy\luffy\luffyCity\luffyCity\apps>

【2】命令

python ../../manage.py startapp home

【3】注册APP

(1)注册方式一

  • 需要修改相关文件的内容
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'luffyCity.apps.home'
]
  • 可能会报错
django.core.exceptions.ImproperlyConfigured: Cannot import 'home'. Check that 'luffyCity.apps.home.apps.HomeConfig.name' is correct.
  • 修改指定文件内容

    • luffyCity\luffyCity\apps\home\apps.py
    from django.apps import AppConfig
    
    
    class HomeConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'luffyCity.apps.home'  # 这里修改为注册APP的路径即可
    

(2)注册方式二

  • 把APP路径添加到环境变量
import os
import sys

# 项目根目录 - 项目根目录发生了更改
BASE_DIR = Path(__file__).resolve().parent.parent
# 因为 dev 的位置又深了一层,导致根目录发生变化
# 旧 :E:\Old Boy\luffy
# 新 :E:\Old Boy\luffy\luffyCity

# 将新的根目录添加到系统环境变量
sys.path.insert(0, str(BASE_DIR))
# 导入APP下的文件可以直接导入,否则需要加 luffyCity. 前缀

# 将 APP目录添加到系统环境变量
APP_DIR = os.path.join(BASE_DIR, 'apps')
# 添加系统环境变量
sys.path.insert(0, APP_DIR)
# 注册APP下的app可以直接写名字,而不用具体的路径

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

【四】设置两套配置文件

  • 所有项目,都会有多套配置文件
  • 开发阶段配置
  • 上线阶段配置

【1】创建settings文件夹

【2】本地配置文件

(1)命名

  • dev.py(本地的settings文件)

(2)路径报错解决办法

  • django项目运行,优先运行settings.py 配置文件

  • 命令运行

    • python manage.py runserve
    • 所以,manage中的配置文件路径要正确
  • 修改 manage.py 文件

#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys


def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.dev') # 修改配置文件位置
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()
  • 启动项目发现提示
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
  • 解决办法
    • 删除当前配置文件启动配置

  • 移除并新增一个启动配置

  • 如果上述问题仍然存在

    • File | Settings | Languages & Frameworks | Django
  • 修改 settings 文件路径

    • 自己的配置文件位置

【3】上线配置文件

  • 重要:项目上线,不使用manage.py 运行

    • 使用uwsgi运行wsgi.py 文件

    • 修改这个文件的配置

      • asgi.py

        import os
        
        from django.core.asgi import get_asgi_application
        
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.prod')
        
        application = get_asgi_application()
        
      • wsgi.py

        import os
        
        from django.core.wsgi import get_wsgi_application
        
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.prod')
        
        application = get_wsgi_application()
        
  • 配置文件指定 prod.py 以后上线使用这个配置文件

【补充】运行Django项目文件错误解决

【一】路径配置要正确

  • dev.py
import os
import sys

# 项目根目录 - 项目根目录发生了更改
BASE_DIR = Path(__file__).resolve().parent.parent
# 因为 dev 的位置又深了一层,导致根目录发生变化
# 旧 :E:\Old Boy\luffy
# 新 :E:\Old Boy\luffy\luffyCity

# 将新的根目录添加到系统环境变量
sys.path.insert(0, str(BASE_DIR))
# 导入APP下的文件可以直接导入,否则需要加 luffyCity. 前缀

# 将 APP目录添加到系统环境变量
APP_DIR = os.path.join(BASE_DIR, 'apps')
# 添加系统环境变量
sys.path.insert(0, APP_DIR)
# 注册APP下的app可以直接写名字,而不用具体的路径
  • manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.dev')
# 将配置文件目录进行更新

【二】删除启动配置项并重置

  • 删除启动项

1

  • 新建启动项

2

【三】新建启动项仍无法启动

  • 修改pycharm配置文件
    • File | Settings | Languages & Frameworks | Django
  • 路径选择我们修改后的dev.py文件路径

3

标签:4.0,项目,APP,py,django,路飞,luffyCity,import,搭建
From: https://www.cnblogs.com/dream-ze/p/17642686.html

相关文章

  • react项目搭建-路由封装
    routerv6路由统一管理与添加,对是否登录进行判断。1.使用脚手架创建项目新建一个文件夹,在文件夹内部打开命令行工具。执行命令:npxcreate-react-app项目名字将项目放在开发工具中,打开项目终端运行项目(npmstart/yarnstart)注:npx命令会帮助我们临时安装create-react-ap......
  • Linux基础35 搭建博客,搭建知乎,搭建edusoho
    5.搭建博客wordpress1)上传包从https://cn.wordpress.org/下载wordpress-5.0.3-zh_CN.tar.gz[root@web01~]#cd/code/[root@web01code]#rzwordpress-5.0.3-zh_CN.tar.gz2)解压代码包[root@web01code]#tarxfwordpress-5.0.3-zh_CN.tar.gz3)授权目录[root......
  • 你不会还不知道搭建资讯中心有这些好处吧
    搭建资讯中心目前来说很不算是一件很主流的事情,很多企业都只是把信息放在钉钉文档或者一些存储软件上。这样很容易使信息混乱,严重一点的会导致丢失。所以今天looklook特地写一篇文章来告诉大家搭建资讯中心到底可以帮到我们些什么。搭建资讯中心的意义1.信息集中管理:资讯中心可以帮......
  • 恒创科技:如何搭建游戏服务器?有哪些操作步骤
    ​选择游戏服务器提供商为确保游戏服务器的稳定运行和及时响应问题,选择一个正规、靠谱的游戏服务器提供商非常重要。选择服务器操作系统根据不同游戏的需求,选择适合的操作系统,通常可选择Linux或WindowsServer操作系统。上传、安装游戏程序根据不同游......
  • PATTERN_MATCH环境搭建
    依赖安装首先更新一下软件列表,顺手升级一下软件sudoaptupdatesudoaptupgradeboost库直接使用apt即可安装sudoaptinstalllibboost-all-devLimbo库Limbo库无法用apt安装,并且依赖于其他库,包括flex、bison、zlib。使用apt安装这些依赖库,apt-getinstallflexzlib......
  • 仓储搭建
    一:为什么使用仓储模式   使用仓储是为了分离业务层和数据源层   仓储模式通过对数据库操作的封装使数据访问有一致性和对应用层和数据层的隔离,降低代码的耦合性,更加容易实现单元测试1、业务逻辑层直接访问数据库,会出现如下结果:(1)重复的代码(2)编程错误的可能性高......
  • 搭建内网服务器
    luogu链接正文//httpServer.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#include<windows.h>#include<io.h>#include<bits/stdc++.h>//要使用网络编程,要包含系统给我们提供的头文件#include<winsock2.h>#pragmacomment(lib,"ws2_32.lib")usingn......
  • docker搭建MySQL的主从复制
    用Docker搭建Mysql的主从复制原创 青菜浪人 青菜浪人 2023-07-3015:33 发表于陕西收录于合集#docker11个创建主容器docker run -d -p 3306:3306 --privileged=true -v /mysql/log:/var/log/mysql -v /mysql/data:/var/lib/mysql -v /mysql/conf:/etc/mysql......
  • 文字转语音 - 搭建微软tts整合web服务提供api接口(免费)
     微软tts是业界公认文字转语音效果最佳本文使用docker搭建微软tts服务并提供api接口对外提供服务对接官方免费在线体验接口,搭建后可免费进行调用使用,不保证永久稳定可用调用方式url:http://127.0.0.1:5003/ttsmethod:POST参数 类型 描述text string 语音文字内容voiceName stri......
  • 基于 Easysearch kNN 搭建即时图片搜索服务
    环境准备启动 Easysearch 服务:#Makesureyourvm.max_map_countmeetstherequirementsudosysctl-wvm.max_map_count=262144dockerrun-it--rm-p9200:9200\-e"discovery.type=single-node"\-eES_JAVA_OPTS="-Xms512m-Xmx512m"\......