学点简单的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 matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
Python实现重建二叉树的三种方法详解
Jun 23 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
python实现QQ空间自动点赞功能
Apr 09 Python
python中append实例用法总结
Jul 30 Python
python对csv文件追加写入列的方法
Aug 01 Python
python中的函数递归和迭代原理解析
Nov 14 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
Python使用Pandas库常见操作详解
Jan 16 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
Python深度学习之Pytorch初步使用
May 20 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
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
JS交换变量的方法
2015/01/21 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
python实现学员管理系统
2019/02/26 Python
python多进程间通信代码实例
2019/09/30 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
Python while循环使用else语句代码实例
2020/02/07 Python
python unichr函数知识点总结
2020/12/16 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
药学专业个人的自我评价
2013/12/31 职场文书
班组长竞聘书
2014/03/31 职场文书
农民工讨薪标语
2014/06/26 职场文书
单位授权委托书范文
2014/08/02 职场文书
社会工作专业自荐信
2014/09/26 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电