学点简单的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 相关文章推荐
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
Python3实现从指定路径查找文件的方法
May 22 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
Pandas统计重复的列里面的值方法
Jan 30 Python
pip指定python位置安装软件包的方法
Jul 12 Python
Python 下载及安装详细步骤
Nov 04 Python
Python3 集合set入门基础
Feb 10 Python
django 模版关闭转义方式
May 14 Python
Python中的全局变量如何理解
Jun 04 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 23 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
PHP 选项及相关信息函数库
2006/12/04 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
js循环改变div颜色具体方法
2013/06/25 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
Angular.Js之Scope作用域的学习教程
2017/04/27 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
Python脚本实现格式化css文件
2015/04/08 Python
理解Python垃圾回收机制
2016/02/12 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
Python基于wordcloud及jieba实现中国地图词云图
2020/06/09 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
Python实现异步IO的示例
2020/11/05 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
汽车驾驶求职信
2013/10/25 职场文书
环保公益广告语
2014/03/13 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL