Django搭建项目开发环境

本文档详细介绍了如何使用PyCharm和命令行创建Django项目babies,包括创建index、commodity和shopper三个应用,以及配置文件settings.py的设置。项目涉及媒体资源、静态资源和模板文件的管理,同时提供了静态模板的下载链接。在settings.py中,对DEBUG、ALLOWED_HOSTS、INSTALLED_APPS、数据库、静态资源等关键配置进行了讲解,强调了它们在项目开发和上线中的作用。最后,演示了如何在settings.py中添加新应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一)创建Django项目 - babies
本案例使用PyCharm创建项目和应用方式,大家可自己尝试使用命令行创建方式。
项目名称:babies

APP应用名称:index、commodity、shopper
在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 

  • 当然也可以选择【New Window】,那样就不会关闭当前已打开的项目
    在这里插入图片描述
  • 创建文件夹media、pstatic和templates,目录结构如下图所示:

 在这里插入图片描述

 

(二)新建APP - index

  • 在终端窗口下执行命令

python manage.py startapp index

 在这里插入图片描述

 

  • 错误提示:配置文件settings.py里没有导入os
  • 在配置文件settings.py里导入os
    在这里插入图片描述
  • 再次执行创建APP的命令:python manage.py startapp index

 在这里插入图片描述

 

(三)创建APP - commodity

  • 在终端窗口下执行命令

python manage.py startapp commodity

 在这里插入图片描述

 

(四)创建APP - shopper

  • 在终端窗口下执行命令

python manage.py startapp shopper

 在这里插入图片描述

 

五)项目目录结构图

在这里插入图片描述

 

整个项目共有7个文件夹和1个文件,每个文件夹和文件的功能说明如下:

1、babies文件夹
babies文件夹与项目名相同,该文件夹下含有文件init .py、asgi.py、settings.py、urls.py和 wsgi.py

2、commodity文件夹
commodity是Django创建的项目应用(App),文件夹里含有init.py、 admin.py、apps.py、models.py、tests.py和views.py文件,它主要实现网站的商品列表页和商品详细页。

3、index文件夹
index是Django创建的项目应用(App),文件夹含有的文件与项目应用(App)commodity相同,它主要实现网站首页。

4、media文件夹
media是网站的媒体资源,用于存放商品的主图和详细介绍图。

5、pstatic文件夹
pstatic是网站的静态资源,用于存放网站的静态资源文件,如css、JavaScript和网站界面图片。

6、shopper文件夹
shopper也是Django创建的项目应用(App),它主要实现网站的购物车页面、个人中心页面、用户登录注册页面、在线支付功能等。

7、templates文件夹
templates用于存放HTML模板文件,即网站的网页文件。

8、manage.py文件
manage.py是项目的命令行工具,内置多种方法与项目进行交互。在命令提示符窗口下,将路径切换到项目babys并输入python manage.py help,可以查看该工具的指令信息。

由于文件夹media,pstatic和templates是我们自行创建的,因此还需要在这些文件夹中添加前端提供的HTML静态模板,详细的添加说明如下:

在这里插入图片描述

 在这里插入图片描述

 

【网站Web静态模版】下载链接:https://pan.baidu.com/s/14JkxXQbFbh2yAz-0ZM0dwg 提取码:lrqw

至此,完成项目babies的整体架构搭建,分为两个步骤:

创建Django项目,并在新建的项目下创建相应的项目应用(App)。
根据前端提供的HTML静态模板,分别创建文件夹media、pstatic和templates,并将HTML静态模板的CSS、JavaScript和HTML文件分别放置在文件夹pstatic和templates。

(六)项目配置文件 - settings.py

由于文件夹media、pstatic和templates是我们自行创建的,Django在运行中无法识别这些文件夹的具体作用,因此,我们还需要在Django的配置文件settings.py中添加这些文件夹,使Django在运行中能识别这些文件夹的作用。
在这里插入图片描述

 1、查看settings.py默认设置

import os
from pathlib import Path

# 项目路径
BASE_DIR = Path(__file__).resolve().parent.parent

# 密钥配置
SECRET_KEY = 'django-insecure-72fj#720j9s29=+4uiq@8)ppbd=x_240fvre#=u1!i@7idcgrz'

# 调试模式
DEBUG = True

# 域名访问权限
ALLOWED_HOSTS = []

# App列表
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

# 中间件
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

# 路由入口设置
ROOT_URLCONF = 'babies.urls'

# 模板配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        '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',
            ],
        },
    },
]

# WSGI配置
WSGI_APPLICATION = 'babies.wsgi.application'

# 数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

# 内置Auth认证的功能配置
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

# 国际化与本地化配置
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True

# 静态资源配置
STATIC_URL = '/static/'

上述代码列出了13个配置信息,每个配置信息的说明如下:
(1)项目路径BASE_DIR:主要通过os模块读取当前项目在计算机系统的具体路径,该代码在创建项目时自动生成,一般情况下无须修改。
(2)密钥配置SECRET_KEY:这是一个随机值,在项目创建的时候自动生成,一般情况下无须修改。主要用于重要数据的加密处理,提高项目的安全性,避免遭到攻击者恶意破坏。密钥主要用于用户密码、CSRF机制和会话Session等数据加密。

用户密码:Django内置一套Auth认证系统,该系统具有用户认证和存储用户信息等功能,在创建用户的时候,将用户密码通过密钥进行加密处理,保证用户的安全性。
CSRF机制:该机制主要用于表单提交,防止窃取网站的用户信息来制造恶意请求。
会话Session:Session的信息存放在Cookie中,以一串随机的字符串表示,用于标识当前访问网站的用户身份,记录相关用户信息。
(3)调试模式DEBUG:该值为布尔类型。如果在开发调试阶段,那么应设置为True,在开发调试过程中会自动检测代码是否发生更改,根据检测结果执行是否刷新重启系统。如果项目部署上线,那么应将其改为False,否则会泄漏项目的相关信息。
(4)域名访问权限ALLOWED_HOSTS:设置可访问的域名,默认值为空列表。当DEBUG为True并且ALLOWED_HOSTS为空列表时,项目只允许以localhost或127.0.0.1在浏览器上访问。当DEBUG为False时,ALLOWED_HOSTS为必填项,否则程序无法启动,如果想允许所有域名访问,可设置ALLOW_HOSTS = [’*’]。
(5)App列表INSTALLED_APPS:告诉Django有哪些App。在项目创建时已有admin、auth和sessions等配置信息,这些都是Django内置的应用功能,各个功能说明如下:

admin:内置的后台管理系统。
auth:内置的用户认证系统。
contenttypes:记录项目中所有model元数据(Django的ORM框架)。
sessions:Session会话功能,用于标识当前访问网站的用户身份,记录相关用户信息。
messages:消息提示功能。
staticfiles:查找静态资源路径。
(6)中间件MIDDLEWARE:这是一个用来处理Django的请求(Request)和响应(Response)的框架级别的钩子,它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。
(7)路由入口设置ROOT_URLCONF:告诉Django从哪个文件查找整个项目的路由信息(路由信息即我们定义的网址信息),默认值是与项目同名的文件夹的urls.py文件,即babies文件夹的urls.py。
(8)模板配置TEMPLATES:主要配置模板的解析引擎、模板的存放路径地址以及Django内置功能的模板使用配置信息。
(9)WSGI配置WSGI_APPLICATION:告诉Django如何查找WSGI文件,并从WSGI文件启动并运行Django系统服务,默认值是与项目同名的文件夹的wsgi.py文件,即babys文件夹的wsgi.py。
(10)数据库配置DATABASES:配置数据的连接信息,如连接数据库的模块、数据库名称、数据库的账号密码等,默认连接sqlite数据库。
(11)内置Auth认证的功能配置AUTH_PASSWORD_VALIDATORS:主要实现Django的Auth认证系统的内置功能。
(12)国际化与本地化配置:包含配置属性LANGUAGE_CODE、TIME_ZONE、USE_I18N、USE_L10N、USE_TZ,主要实现网站的语言设置、不同时区的时间设置等。
(13)静态资源配置STATIC_URL:设置静态文件的路径信息。

在网站开发阶段中,我们经常对配置文件settings.py的INSTALLED_APPS、MIDDLEWARE、TEMPLATES、DATABASES和STATIC_URL进行配置,从而完成网站的开发过程,而配置属性DEBUG和ALLOWED_HOSTS则用于网站上线阶段。

上述配置属性是Django默认的功能配置,在实际开发中,可根据实际情况适当添加或删除相应的功能配置。
2、在配置文件里添加项目应用
我们在项目babies添加了项目应用(App)index、commodity和shopper,但Django在运行过程中依然无法识别新增的项目应用(App),因此还需在Django的配置文件settings.py添加我们新增的项目应用(App)。在App列表INSTALLED_APPS分别添加index、commodity和shopper,添加信息如下:
在这里插入图片描述

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'index',
    'commodity',
    'shopper'
]
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值