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

相关文章

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数