学点简单的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学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
python3实现暴力穷举博客园密码
Jun 19 Python
python3.4下django集成使用xadmin后台的方法
Aug 15 Python
Python基础语言学习笔记总结(精华)
Nov 14 Python
Python3生成手写体数字方法
Jan 30 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
Django跨域请求CSRF的方法示例
Nov 11 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 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 SOCKET编程详解
2015/05/22 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
php 常用的系统函数
2017/02/07 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
FireFox中textNode分片的问题
2007/04/10 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
python实现目录树生成示例
2014/03/28 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
彪马英国官网:PUMA英国
2019/02/11 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
说明书怎么写
2014/05/06 职场文书
党员对照检查材料整改措施思想汇报
2014/09/26 职场文书
中学教师个人总结
2015/02/10 职场文书
楚门的世界观后感
2015/06/03 职场文书
千手观音观后感
2015/06/03 职场文书
工程移交协议书
2016/03/24 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python