Django项目的settings.py文件

本文详细介绍了Django项目中settings.py文件的关键配置项,包括数据库连接、开发者模式、域名访问、子应用注册、中间件、URL配置、模板设置、WSGI应用、静态文件管理和安全选项。

前言

        在Django中settings.py是项目的配置文件,里面有很多的配置列如子应用的注册,数据库的链接,访问的权限,开发者的友好提示等。

1.
#获取当前项目的绝对路径
BASE_DIR = Path(__file__).resolve().parent.parent
#输出一下这个值,可以看到获得的是当前项目的决定路径。注test_app是我的Django项目名

print('BASE_DIR----', BASE_DIR)

#D:\PycharmProjects\pythonProject4\test_app
2.
SECRET_KEY = '8888888888888888888888888888888888888888888888888'
#Django自带的用于加密session的一个随机字符串
 3.
#开发者的提示模式,部署时得改成False
DEBUG = True

这个是DEBUG=True时的提示模式,默认为True,部署时必须改成False 

 

4. 
##允许访问的域名设置
#开发环境下不同理会
#允许所有域名访问,则设置ALLOWED_HOSTS = ['*']
#指定某些域名可以访问,则设置ALLOWED_HOSTS = ['www.baidu.com']
ALLOWED_HOSTS = []
5.
#子应用的注册,列如,test_apps
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'test_apps',
]

在创建子应用后,第一时间在settings.py中注册。

6.
#中间层的过滤器
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',
]

使用中间件的时候需要再这里注册,自己写好的过滤器

7.
#配置基础的url
ROOT_URLCONF = 'test_app.urls'
8.
#配置模版
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],
        },
    },
]
在使用静态文件的时候需要更改
9.
#服务器部署的wsgi配置
WSGI_APPLICATION = 'one_more_app.wsgi.application'
10.
#数据库链接配置,默认使用sqlite3
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
11.
#用户密码验证
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',
    },
]
12.
#语言选择,zh-hans 为中文
LANGUAGE_CODE = 'en-us'
13.
#时区    Asia/Shanghai 是中国时区
TIME_ZONE = 'UTC'
14.
#国际化
USE_I18N = True
15.
#使用时区,配套TIME_zone使用,必须配置为False
USE_TZ = True
16.
#静态文件的配置,css,js,img
STATIC_URL = 'static/'

17.

#默认的主键字段类型,用于没有带有 primary_key=True 字段的模型。
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

<think> 我们首先需要明确问题:用户创建的Django项目中没有settings.py文件,如何解决? 根据Django项目的标准结构,在创建项目后,通常会在项目根目录下生成一个与项目同名的文件夹,里面包含settings.py、urls.py、wsgi.py文件。 如果没有生成settings.py文件,可能的原因和解决方法如下: 1. **创建项目时使用了不正确的命令**:确保使用`django-admin startproject projectname`命令创建项目。 2. **项目目录结构被修改**:检查项目目录,看是否意外移动或删除了文件。 3. **Django版本问题**:某些旧版本或新版本可能有不同的默认行为,但通常不会缺少settings.py。 4. **使用模板创建**:如果使用了`--template`选项,可能模板中没有包含settings.py文件。 ### 解决步骤: 1. **检查项目目录结构**: - 进入项目根目录,检查是否有与项目同名的子文件夹。 - 在该子文件夹中查找settings.py文件。有时用户可能误以为在项目根目录下。 2. **重新创建项目**: - 如果确实缺失,最简单的解决方法是重新创建项目,确保在正确的路径下执行命令。 - 例如: ```bash django-admin startproject myproject ``` 3. **手动创建settings.py文件(不推荐)**: - 如果不想重新创建项目,可以手动创建settings.py文件,但需要正确配置所有设置。 - 从标准Django项目中复制一个settings.py文件,然后根据项目需求修改。 - 注意:这需要对Django配置非常熟悉,否则容易出错。 4. **检查隐藏文件**: - 在某些操作系统中,文件可能被隐藏,使用命令行或显示隐藏文件功能查看。 5. **检查创建命令的输出**: - 运行创建项目命令时,注意是否有错误消息。 ### 注意事项: - 确保Django已正确安装。可以通过`django-admin --version`检查。 - 如果使用虚拟环境,请确保已激活。 ### 示例项目结构: ``` myproject/ manage.py myproject/ __init__.py settings.py # 应该在这里 urls.py wsgi.py ``` 如果用户的项目中没有这个结构,建议重新创建。 ### 相关问题: 1. Django项目创建后还有哪些必要文件? 2. 如何正确配置Djangosettings.py文件? 3.Django中如何管理多个环境(开发、生产)的配置? 希望这些步骤能帮助用户解决问题。 </think> 根据您的描述,Django项目缺失`settings.py`文件是常见问题,以下是系统性的解决方案: ### 解决方法 1. **验证项目创建方式** - 使用标准命令创建项目: ```bash django-admin startproject projectname ``` - 正确结构应包含: ``` projectname/ manage.py projectname/ __init__.py settings.py # 核心配置文件 urls.py wsgi.py ``` - 如果使用非标准命令(如`django-admin startproject .`),可能导致文件散落在当前目录而非独立文件夹[^2] 2. **手动创建配置文件** ```python # projectname/settings.py from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent SECRET_KEY = '自行生成50位随机字符' # 可用: import secrets; secrets.token_urlsafe(50) DEBUG = True ALLOWED_HOSTS = [] INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] # 其他必要配置参照官方文档: https://docs.djangoproject.com/en/stable/ref/settings/ ``` 3. **检查隐藏文件系统** - Linux/macOS: 终端执行 `ls -a` 查看隐藏文件 - Windows: 启用"显示隐藏文件"选项 - Django可能生成`.settings.py.swp`等临时文件 4. **重建项目结构** ```bash # 保留已有代码时操作 mv existing_code/ temp_folder/ django-admin startproject projectname mv temp_folder/* projectname/ ``` ### 预防措施 - 使用虚拟环境避免版本冲突: ```bash python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows pip install django ``` - 验证Django安装完整性: ```bash pip show django # 确认版本及位置 django-admin version ``` > **关键提示**:若手动创建后仍报错,检查`manage.py`中的路径设置: > ```python > # manage.py 首行应为 > os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings') > ``` [^1]: Django官方配置文档 [^2]: 标准项目结构规范
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值