`
落叶换新叶
  • 浏览: 25532 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

python django web开发示例

阅读更多

1.创建app

   选中项目名右击---django---create application  输入名称product

2.修改settings.py

    在installed_apps中添加product 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'product',
]

   创建templates用于存放文件,修改配置文件访问目录

 

'DIRS': [BASE_DIR+"/templates",],

    修改静态文件的存放目录,如js,css和图片

 

 

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,"templates/static"),
]

    添加日志配置

 

 

LOGGING = {
    'version': 1,#指明dictConnfig的版本
    'disable_existing_loggers': False,# 设置True将禁用所有的已经存在的日志配置
    'formatters': {#格式器
        'verbose': {#详细
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {#简单
            'format': '%(levelname)s %(message)s'
        },
    },
     'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse',
        },
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {#处理器,在这里定义了三个处理器
        # 'null': {#Null处理器,所有高于(包括)debug的消息会被传到/dev/null
        #     'level':'DEBUG',
        #     'class':'django.utils.log.NullHandler',
        # },
        'console':{#流处理器,所有的高于(包括)debug的消息会被传到stderr,使用的是simple格式器
            'level':'NOTSET',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        },
        'mail_admins': {# 邮件处理器,所有高于(包括)而error的消息会被发送给站点管理员,使用的是special格式器
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'filters': ['require_debug_false']
        },
        'file_handler': {# 文件处理器,所有高于(包括)而error的消息会被发送给站点管理员,使用的是special格式器
            'level': 'NOTSET',
            'class': 'logging.handlers.TimedRotatingFileHandler',
            'when':'W0',   # 日志文件每周第一天翻转
            'filename':BASE_DIR+"/templates/log/out.log",   #  日志文件的存储地址
            'backupCount':500,   # 最多可以保存500个文件
            'formatter':'verbose'
        }
    },
    'loggers': { # 定义了三个记录器
        'django': { # django记录器是捕捉所有消息的记录器,没有消息是直接发往django记录器的。使用null处理器,所有高于(包括)info的消息会被发往null处理器,向父层次传递信息
            'handlers':['console','file_handler'],
            'propagate': True,
            'level':'INFO',
        },
        'django.request': {#所有高于(包括)error的消息会被发往mail_admins处理器,消息不向父层次发送
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        # 'myproject.custom': {# 所有高于(包括)info的消息同时会被发往console和mail_admins处理器,使用special过滤器
        #     'handlers': ['console', 'mail_admins'],
        #     'level': 'INFO',
        #     'filters': ['special']
        # }
    }
}

    添加数据库连接

 

 

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'NAME': 'pythondev',
        'USER': 'root',
        'PASSWORD': 'root',
    }
}

 3.在product目录下的model.py中,创建Entity类

 

 

from django.db import models
from django.contrib import admin
from cgi import maxlen

class Test1(models.Model) :
    title = models.CharField(max_length=150)
    context = models.TextField()
    createDate = models.DateTimeField()
    element = models.CharField(max_length=150)
    path = models.CharField(max_length=150)
    
    class Meta:
        #app_label = 'app01' #由于该model连接default数据库,所以在此无需指定
        db_table = 'test1'  #不加的话,表名会有前缀

 4.修改product目录下的views,用于处理前段请求

 

 

from django.shortcuts import render

from db.models import Test1
from django.template import loader,Context
from django.http.response import HttpResponse
from django.shortcuts import redirect,reverse
import logging

def toArchive(request):
    test1= Test1.objects.all()
    t = loader.get_template('archive.html')
    c = {'test1': test1}
    return HttpResponse(t.render(c))

def addArchive(request):
#    test1= Test1.objects.all()
#    c = {'test1': test1}
#    return render(request, "archive.html", c)
    if request.method == 'POST':
            element = request.POST['element']
            path = request.POST['path']
            title = request.POST['title']
            t = Test1(element=element,path=path,title=title);
            t.save()
            logger = logging.getLogger('django')
            logger.info("这是个日志");
            logger.error("这是个错误日志");
    return redirect(reverse('db:toAr'))

 4.修改product目录下的urls.py文件

from django.contrib import admin
from django.urls import path
from product.views import addArchive
from product.views import toArchive

app_name = 'product'
urlpatterns = [
    path('test1/',toArchive,name='toAr'), ##重定向url
    path('addArchive/',addArchive),
]

 5.创建根目录下view.py文件和url.py文件,用于处理非app的请求

    view.py

from django.shortcuts import render

def hello(request):
    context  =   {}
    context['c'] = "this is a hello"
   # return render(request, "hello.html", context)
    return render(request, "index.html", context)

    url.py

from django.contrib import admin
from django.urls import path,include
from . import view
from product.views import addArchive
from product.views import toArchive

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/',view.hello),
    path('test1/',toArchive),
    path('addArchive/',addArchive),
    path('productTest/',include('product.urls')),   ##请求会转发到product中处理
]

 6._init_.py文件,使用pymysql

import pymysql
 
pymysql.install_as_MySQLdb()

 

 

 

   

 

 

 

 

0
2
分享到:
评论

相关推荐

    使用Python Django开发web应用 示例代码 python3.6 django2.0.zip

    使用Python Django开发web应用配套的示例代码 python3.6 django2.0。讲义第三页链接https://blog.csdn.net/jxzdsw/article/details/99312523。只是一个简单的blog系统的例子。我是想找到一个分享平台,并不想收取C币...

    Python Django Web开发 零基础学习 搭建 待办清单网站 视频地址:.zip

    【标题】"Python Django Web开发 零基础学习 搭建 待办清单网站 视频地址:.zip" 提供了一个关于使用Python的Django框架构建一个待办事项(To-Do List)网站的在线课程。这个课程可能是针对初学者设计的,旨在帮助...

    Django Web开发指南

    《Django Web 开发指南》是一本专为希望使用Python进行Web应用开发的技术人员所撰写的书籍。本书由Jeff Forcier、Paul Bissex与Wesley Chun共同编写,三位作者都是在Python及Web开发领域拥有丰富经验的专家。 #### ...

    Python Django Web 点餐项目课件、源代码、课堂笔记

    Python Django 是一个强大的Web开发框架,它基于Python编程语言,为快速构建高效、可扩展的Web应用提供了便利。本项目包含一系列围绕Django点餐系统的课件、源代码和课堂笔记,旨在帮助学习者深入理解Django框架以及...

    Django Web开发指南-源代码(python3.4+django1.7.1)

    《Django Web开发指南》是一本深入讲解使用Python的Django框架进行Web应用构建的教程。源代码基于Python 3.4.2和Django 1.7.1这两个版本,这代表了在该书编写时的主流技术栈。Python 3.4是Python 3系列的一个稳定...

    django web开发教程

    1. Django框架概述:Django是一个用Python语言编写的开源的、高级的Web框架,它鼓励快速开发和干净、实用的设计。Django遵循MVC(模型-视图-控制器)设计模式,但更确切地说,它是MVT(模型-视图-模板)架构模式。该...

    python web开发Django实验开发报告.docx

    ### Django Web 开发知识点总结 #### 一、试验工程信息概览 本次实验的主要目的是让学生通过实际操作,深入了解Django框架的基本用法及其在Web开发中的应用。具体实验信息如下: - **实验名称**:Django Web 开发...

    Django Web开发指南书及源代码

    Django是一个高级的Python Web框架,它遵循模型-视图-控制器(MVC)架构模式,用于快速开发安全且可维护的网站。Django以其“ batteries included ”的特性著名,内置了许多功能,如ORM(对象关系映射)、模板引擎、...

    最简单的Python Django入门教程.pdf

    Django是一个基于Python的开源Web应用框架,遵循MVC(模型-视图-控制器)设计模式,但在Django中通常被称为MTV模式。它的核心目标是简化复杂、数据库驱动的网站开发,强调组件的重用性、敏捷开发和DRY(Don't Repeat...

    PythonWeb开发案例教程_源代码.zip

    "PythonWeb开发案例教程_源代码.zip"这个压缩包包含了整个教程的实践代码,这将帮助你更好地跟随教程的步伐,亲手操作每一个示例,加深对理论知识的理解。 Python Web开发主要依赖于一些强大的框架,如Django、...

    Python中django学习心得

    Django是一款基于Python语言的开源Web开发框架,它遵循MVC(Model-View-Controller)设计模式,旨在简化Web开发流程,提高开发效率。以下内容将详细探讨Django中的URL配置、反向解析、包含其他URL配置以及正则字符串...

    django web开发指南pdf涵盖源代码

    **Django Web开发指南的源代码部分** 可能包括了各种示例项目、模型定义、视图函数、模板文件和URL配置。通过实际运行和修改这些代码,开发者可以深入理解Django的工作原理,提升开发技能。 在学习过程中,应重点...

    Django web开发指南 书中源码

    这个压缩包包含了"Django web开发指南"一书中的示例源代码,涵盖了多个实际应用场景,如博客系统、照片廊系统、CMS内容管理系统以及Google App Engine的集成。 1. **Django框架基础**:Django提供了快速开发、内置...

    Python Django Demo项目

    Django是一个用Python编写的高级Web开发框架,它遵循模型-视图-控制器(MVC)设计模式,强调可重用性和“干”(Don't Repeat Yourself)原则,使得开发者能快速构建功能丰富的、高性能的Web应用。 在这个项目中,你...

    python web开发实录源代码

    "Python Web开发实录源代码"是针对这一主题的学习资料,通常包含一系列的示例项目和练习,旨在帮助开发者通过实践掌握Web开发的关键概念和技术。 首先,Python作为服务器端编程语言,其简洁的语法和强大的库支持...

    django 学习笔记(1)—— python和web开发框架(csdn)————程序.pdf

    在深入探讨Django之前,我们先来了解一下Python和Web开发框架的基本概念。Web开发框架是构建Web应用程序的工具集合,它简化了开发过程,提供了诸如路由、模板渲染、数据库集成等核心功能。Django作为Python的一个...

    python Django RSA 前台加密 后端解密。

    Python Django框架是一个强大的后端开发工具,而RSA(Rivest-Shamir-Adleman)则是一种广泛应用的非对称加密算法,常用于数据加密和数字签名。在这个场景中,我们将讨论如何在Django应用中实现RSA加密和解密,以便于...

    Python Web开发,高清PDF文字版,带书签

    《Python Web开发》这本书是为那些想要学习如何使用Python语言构建Web应用的初学者和开发者设计的。Python作为一门易学且功能强大的编程语言,在Web开发领域有着广泛的应用。本书内容详细,涵盖了一系列用于Web开发...

Global site tag (gtag.js) - Google Analytics