学点简单的Django之第一个Django程序的实现


Posted in Python onFebruary 24, 2021

这里采用PyCharm专业版可以直接创建Django项目,这里面自动部署了Django的基本环境。在创建项目时选择Django项目:

学点简单的Django之第一个Django程序的实现

第一次建立Django项目时可能需要一段时间去等待下载相关的依赖环境。
我们可以在Terminal中输入python -m django --version来查看当前的Django版本,或者也可以在PyCharm的系统偏好设置中查看相关版本信息。

学点简单的Django之第一个Django程序的实现

建立完成后自动生成了如下的一些文件。

学点简单的Django之第一个Django程序的实现

不知道是环境问题还是什么问题,Django3.1.4的新建项目直接运行会报错NameError: name 'os' is not defined这里我们要修改settings.py文件,在文件中引入os库。
如果不知道如何引入的同学,这里贴了引入后settings.py文件的所有内容。

"""
Django settings for DjangoDemo2 project.

Generated by 'django-admin startproject' using Django 3.1.5.

For more information on this file, see
https://docs.djangoproject.com/en/3.1/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.1/ref/settings/
"""

from pathlib import Path
import os

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '*z4n3290$mge9mbn04a5+hbdk@@!2y_z$05b_@(^c=ss98+=%&'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

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 = 'DjangoDemo2.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_APPLICATION = 'DjangoDemo2.wsgi.application'


# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': BASE_DIR / 'db.sqlite3',
  }
}


# Password validation
# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators

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',
  },
]


# Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.1/howto/static-files/

STATIC_URL = '/static/'

在修改之后我们再次点击运行即可顺利运行,没有BUG了。

学点简单的Django之第一个Django程序的实现

此时我们打开http://127.0.0.1:8000/时出现的是下面的页面,则说明我们第一个Django项目成功的跑起来了。

学点简单的Django之第一个Django程序的实现

下面我们在介绍一下初始生成的几个文件各有什么样的作用,Django自动生成的文件为:

DjangoDemo2/
  manage.py
  DjangoDemo2/
    __init__.py
    settings.py
    urls.py
    asgi.py
    wsgi.py
	templates/

这些文件的含义及用处为:

  • 最外层DjangoDemo2文件夹内存放了DjangoDemo2项目的所有文件
  • DjangoDemo2/manage.py文件存放了管理Django项目的命令行工具。
  • DjangoDemo2/DjangoDemo2/文件夹内存放的是项目内的py代码,是一个Python包。
  • DjangoDemo2/DjangoDemo2/init.py文件是声明当前为文件夹是一个Python包
  • DjangoDemo2/DjangoDemo2/settings.py文件是Django的配置文件
  • DjangoDemo2/DjangoDemo2/urls.py文件是Django项目的路由声明
  • DjangoDemo2/DjangoDemo2/asgi.py文件是运行在ASGI的Web服务器上的入口,这是Django3之后的新特性。
  • DjangoDemo2/DjangoDemo2/wsgi.py文件是运行在WSGI的Web服务器上的入口。

到此这篇关于学点简单的Django之第一个Django程序的实现的文章就介绍到这了,更多相关第一个Django程序的实现内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
用Python的SimPy库简化复杂的编程模型的介绍
Apr 13 Python
Python中的Numeric包和Numarray包使用教程
Apr 13 Python
举例讲解Python中的死锁、可重入锁和互斥锁
Nov 05 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
Django后台获取前端post上传的文件方法
May 28 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 Python
python super用法及原理详解
Jan 20 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
Python多分支if语句的使用
Sep 03 Python
python单例模式的应用场景实例讲解
Feb 24 #Python
python编写扎金花小程序的实例代码
Feb 23 #Python
Python项目实战之使用Django框架实现支付宝付款功能
Feb 23 #Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 #Python
python利用opencv实现颜色检测
Feb 23 #Python
详解Python中openpyxl模块基本用法
Feb 23 #Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 #Python
You might like
递归列出所有文件和目录
2006/10/09 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
js中hash和ico的关联分析
2015/02/05 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
对javascript继承的理解
2016/10/11 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
PHP7新特性简述
2017/06/11 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python爬虫超时的处理的实例
2018/12/19 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
Java的基础面试题附答案
2016/01/10 面试题
NET程序员上机面试题
2015/05/23 面试题
什么样的创业计划书可行性高?
2014/02/01 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
工程技术员岗位职责
2014/03/02 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
对Keras自带Loss Function的深入研究
2021/05/25 Python