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线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S