python开发框架——Django基础知识(二)


  hello!我是wakeyo_J,每天一个小知识,一起学python,让技术无限发散。

1、文件配置(BASE_DIR)

   请大家跟随小J的步骤,咱一步一步来。我们先通过pycharm进入我们之之前创建的项目中,找到项目下的setting文件,满目之下都是英文,顿时心中是否有千万只羊驼奔涌而过呢?不着急,且听小J慢慢道来。

1.项目文件介绍
① manage.py文件:去找到项目中的setting文件,是项目中启动项目和调试的时候用到
②wsgi.py文件:做框架中的Web服务器中的访问网关
③setting.py文件:是项目中的配置文件,所有需要的配置信息都在这里面配置
④urls.py文件:项目的总路由

2.setting文件分析

  • 导入模块
import os.path
from pathlib import Path
  • 项目的根目录
BASE_DIR = Path(__file__).resolve().parent.parent  # 项目的根目录
  • 密钥
SECRET_KEY = '10w(y+6px#)rlgg++q0z+q8$)@8z8px-h=xwspi_mhczk3q*a1'

运行项目时会生成一串加密的密钥对运行中使用的密钥保密

  • BUG调试
# 调试用的 在开发的情况下,可以在控制台打印出错误信息和访问记录
DEBUG = True
  • 允许访问的端口号和IP
# 允许访问的ID和端口号
ALLOWED_HOSTS = []
  • 注册子应用
# 注册子应用的地方
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 = 'dj2.urls'
  • 模板配置信息
# 模板  配置模板信息
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',
            ],
        },
    },
]

WSGI_APPLICATION = 'dj2.wsgi.application'
  • 配置数据库
# 配置数据库时使用
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
  • 语言日期配置
# 语言配置 zh-hans(中文)
LANGUAGE_CODE = 'en-us'
# 时区
TIME_ZONE = 'UTC'
# 日期
USE_I18N = True
USE_L10N = True
USE_TZ = True
  • 静态文件
STATIC_URL = '/static/'

STATICFILES_DIRS = [ BASE_DIR / 'static']  #  [os.path.join(BASE_DIR,'static')]
或
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

在文件中进行相关的配置,如图:
①配置根目录
在这里插入图片描述

②配置调试模式

DEBUG = True

调试模式,创建的项目初始值为True,即默认工作调试模式下。

调试模式作用:

1.修改代码文件,程序自动启动;
2.Dajngo程序出现错误时,向前端希纳是详细的错误追踪信息;
3.非调试模式下,返回Server Error(500)

③配置时区和语言(zh-hans中文)

在这里插入图片描述

2、静态文件的配置

  项目中的css、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中

STATICFILES_DIRS 存放查找静态文件的目录

STATCI_URL 访问静态文件的url前缀

STATICFILES_DIRS = [
	BASE_DIR / 'static'
]

3、路由说明

  • 路由工作原理
    在这里插入图片描述
      Django的主要路由信息定义在项目同名目录下的urls.py文件中
    在这里插入图片描述

4、Dajngo简单操作

4.1 实现间的web文字显式

  • 网页代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a>hello world</a>
</body>
</html>

在pycharm运行manage.py文件,通过http://127.0.0.1:8000/static/index.html访问如下页面:
在这里插入图片描述

4.2 新增路由和子应用注册

1.新建子应用命令
python manage.py startapp 子应用名
在这里插入图片描述
创建子应用后的项目文件:
在这里插入图片描述
新增路由如图(中间注释的同样可行,只是在访问时的网址为:http://127.0.0.1:8000/books/index/):
在这里插入图片描述
子应用路由的写法:需要在创建的books子应用文件夹下新建py文件urls.py,再在新建的books/urls.py文件中写子应用的路由:
在这里插入图片描述
在子应用的views(视图)中写视图函数:
在这里插入图片描述
注意,视图函数中都需要写请求和响应

访问结果:
①不注册子应用结果:访问网站:http://127.0.0.1:8000/books/index/
在这里插入图片描述
②注册子应用,在项目setting文件中注册子应用中写下’books.apps.BooksConfig’,如图:
在这里插入图片描述
访问结果,访问网址:http://127.0.0.1:8000/index1/
在这里插入图片描述


总结

  本文属于作者原创,转载请注明出处,不足之处,希望大家能过给予宝贵的意见,如有侵权,请私信。每天一个小知识,一起学python,让技术无限发散

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python独角兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值