django-安装、创建项目、创建app、渲染html输出浏览器、log配置

本文主要是介绍django-安装、创建项目、创建app、渲染html输出浏览器、log配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      • 安装django
      • 创建django项目
      • 目录介绍
      • 运行Django项目
      • 实现简单的交互
      • 实现渲染输出
      • 创建app
      • 配置log日志

安装django

命令行安装django

pip3 install django==1.11.9

或者通过pycharm安装
这里写图片描述

创建django项目

命令行创建django项目

django-admin startproject **

这里写图片描述

pycharm创建django项目
这里写图片描述

目录介绍

mysite/
├── manage.py  # 管理文件
└── mysite  # 项目目录├── __init__.py├── settings.py  # 配置├── urls.py  # 路由 --> URL和函数的对应关系└── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server

运行Django项目

通过命令行创建

python manage.py runserver

这里写图片描述

*命令行创建django项目*
这里写图片描述

实现简单的交互

HttpResponse
内部传入一个字符串参数,返回给浏览器

def index(request):# 业务逻辑代码return HttpResponse("OK")

在urls.py中添加如下代码:

from django.conf.urls import url
from django.contrib import admin
from django.shortcuts import HttpResponsedef index(request):return HttpResponse("hello sddjango")urlpatterns = [# url(r'^admin/', admin.site.urls),url(r'index/',index),
]

这里写图片描述

实现渲染输出

除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

看下项目目录结构
这里写图片描述

在settings.py中

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

TEMPLATES文件夹是存放模板的路径
看下项目中的模板index.html代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>index</title><link rel="stylesheet" href="/static/mystyle.css">
</head>
<body><form action="/index/" method="post"><p>姓名<input type="text" name="username"></p><p>密码<input type="password" name="password"></p><p><input type="submit" value="登录"></p><p style="color: red">{{ key  }}</p>
</form></body>
</html>
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "mystatic"),  # 静态文件存放位置
]

这里是配置静态文件的,比如js文件、css文件等
我们看下我们项目中的mystyle.css

form {border: 1px solid green;
}

我们看下urls.py代码:

from django.conf.urls import url
from django.contrib import adminfrom django.shortcuts import HttpResponse, render, redirectdef index(request):  # 所有跟请求相关的数据,都保存在request# 判断请求的类型是什么print("--->:", request)error_msg = ""if request.method == "POST":# 拿到form表单提交过来的数据name = request.POST.get("username")pwd = request.POST.get("password")print(request.POST)print(name, pwd)# 拿到用户提交的数据去数据库里面检索,能找到就表示登录成功,否则登录失败if name == "wyf" and pwd =="123456":return redirect("https://www.sogo.com")else:error_msg = "用户名密码错误"# return HttpResponse("<h1>hello world!</h1>")return render(request, "index.html", {"key": error_msg})urlpatterns = [# url(r'^admin/', admin.site.urls),url(r'index/',index),
]

接下来进行测试

这里写图片描述

这里写图片描述

创建app

do命令行创建如下:
这里写图片描述

这里写图片描述

pycharm创建方式如下:
这里写图片描述

配置log日志

# 定义一下log文件存放的位置
BASE_LOG_DIR = os.path.join(BASE_DIR, "log")
# Django项目日志配置
LOGGING = {# 固定搭配的一个版本号'version': 1,# 禁用已经存在的logger实例'disable_existing_loggers': False,# 定义了三个日志打印或保存的格式'formatters': {# 标准的'standard': {'format': '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]''[%(levelname)s][%(message)s]'},# 简单的格式'simple': {'format': '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'},# 收集'collect': {'format': '[%(asctime)s]%(message)s'}},# 日志的过滤条件'filters': {# 需要debug=True'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue',},},# 定义几个处理日志的方法'handlers': {# 把日志都打印到终端窗口'console': {'level': 'DEBUG','filters': ['require_debug_true'],  # 只有在Django debug为True时才在屏幕打印日志'class': 'logging.StreamHandler','formatter': 'simple'},# 默认'default': {'level': 'INFO','class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,自动切'filename': os.path.join(BASE_LOG_DIR, "s8_info.log"),  # 日志文件'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M'backupCount': 5,  # 日志文件个数'formatter': 'standard','encoding': 'utf-8',},# 专门记录错误日志的'error': {'level': 'ERROR','class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,自动切'filename': os.path.join(BASE_LOG_DIR, "s8_err.log"),  # 日志文件'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M'backupCount': 5,'formatter': 'standard','encoding': 'utf-8',},'collect': {'level': 'INFO','class': 'logging.handlers.RotatingFileHandler',  # 保存到文件,自动切'filename': os.path.join(BASE_LOG_DIR, "s8_collect.log"),'maxBytes': 1024 * 1024 * 50,  # 日志大小 50M'backupCount': 5,'formatter': 'collect','encoding': "utf-8"}},# 最后处理logger实例的配置'loggers': {# 默认的logger应用如下配置'': {'handlers': ['default', 'console', 'error'],  # 上线之后可以把'console'移除'level': 'DEBUG',},# 名为 'collect'的logger还单独处理'collect': {'handlers': ['console', 'collect'],'level': 'INFO',},'collect.son': {'handlers': ['console',],'level': 'INFO','propagate': False,}},
}

这篇关于django-安装、创建项目、创建app、渲染html输出浏览器、log配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125176

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p