第一章 Django基本使用

第一章 Django 基本使用
第二章 Django URL路由系统
第三章 Django 视图系统
第四章 Django 模板系统
第五章 Django 数据模型系统(基本使用)
第六章 Django 数据模型系统(多表操作)
第七章 Django 用户认证与会话技术
第八章 Django CSRF防护



Django介绍

django是什么?

Django是Python的一个主流Web框架,提供一站式解决方案,开发成本低,内建ORM、数据管理后台、登录认证、表单、RESTAPI等功能,适合开发中大型项目

其他Web框架

  • Flask(轻量级)
  • Tornado(异步,并发高)

Django发展历程

在这里插入图片描述

目前最新版本3.0 ,Python版本推荐3.6、3.7、3.8

官方文档:https://docs.djangoproject.com/zh-hans/3.1/

开发环境准备

软件 安装方式
Python3.8 官方网站下载安装程序:https://www.python.org/downloads/windows/
Django3.0 pip install django==3.0.5
Pycharm Pro 官方网站下载安装程序
PyMySQL pip install pymysql
MySQL5.7 https://dev.mysql.com/downloads/mysql/
## 安装Django
Linux:
    pip3 install django # 安装最新版本
windows:
    pip install django # 安装最新版本

卸载Django

pip3 uninstall django

查看版本

python3
>>>import django
>>>django.get_version()

在这里插入图片描述

创建项目

1.创建项目

django-admin startproject devops

2.创建应用

python3 manage.py startapp myapp

3.运行项目

python3 manage.py runserver 0.0.0.0:8888

在这里插入图片描述

settings.py # 配置文件
urls.py # 路由功能进行转发
templates # 存放模板目录,没有的话,可以进行创建
db.sqlite3 # 内置数据库

4.myapp目录下文件作用

  • migrations:存放生成数据库脚本的目录
  • __init__.py:python的包,可以进行导入
  • admin.py:提供自定义模型
  • apps.py:应用信息定义的文件
  • models.py:指定ORM数据模型
  • test.py:测试代码
  • views.py:视图,处理具体的业务逻辑

5.注意事项

5.1 linux启动出现报错

django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher
那就访问:https://blog.csdn.net/ldq_sd/article/details/123850041进行问题解决
或者安装pysqlite3和pysqlite3-binary

pip3 install pysqlite3
pip3 install pysqlite3-binary
/usr/local/python3/lib/python3.9/site-packages/django/db/backends/sqlite3/base.py
#from sqlite3 import dbapi2 as Database  #注释它
from pysqlite3 import dbapi2 as Database #新加这段代码

5.2 访问报错

出现:Invalid HTTP_HOST header:"IP地址".You may need to add 'IP地址'to ALLOWED_HOSTS
Invalid HTTP_HOST header: ‘49.232.221.200:8888’. You may need to add ‘49.232.221.200’ to ALLOWED_HOSTS.

这种情况需要在文件目录的setting.py里直接修改内容

ALLOWED_HOSTS=['*'] # 添加‘*’就可以解决显示不出来的问题

牛刀小试:第一个页面、第二个页面

第一个页面

访问流程

在这里插入图片描述

添加URL视图

# devops/urls.py
from django.contrib import admin
from django.urls import path
from myapp import views

urlpatterns = [
    path('index',views.index), # /index访问
    path('hello',views.hello), # /hello访问
    path('admin/', admin.site.urls),
]

添加视图

# devops/myapp/views.py
from django.shortcuts import render,HttpResponse
# Create your views here.
def index(request):
    return HttpResponse("<h1>首页</h1>")
def hello(request):
    return HttpResponse("<h1>Hello Django</h1>")

验证

在这里插入图片描述
在这里插入图片描述

第二个页面

页面展现nginx日志
创建/data/devops/myapp/access.log
在这里插入图片描述

添加URL视图

# devops/urls.py
from django.urls import path
from myapp import views

urlpatterns = [
    path('logs',views.logs), # /logs访问
]

添加视图

# devops/myapp/views.py
from django.shortcuts import render,HttpResponse
def logs(request):
    import os
    cur = os.path.dirname(os.path.abspath(__file__))
    with open(cur + '/access.log',encoding='utf8') as f:
    # with open('/data/devops/myapp/access.log',encoding='utf8') as f:
        result = f.read()
    return render(request,'logs.html',{
   'result': result })

增加logs.html模板

3.1 创建templates(与项目再同级)

mkdir templates

3.2 修改setting.py

import os
# TEMPLATES里的DIRS参数
'DIRS': [os.path.join(BASE_DIR, 'templates')],

logs.html

# devops/templates/logs.html
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>日志</title>
    </head>
    <body>
        <h1>Nginx访问日志</h1>
        <pre style="color: red">{
   {
    result }}</pre>
    </body>
</html>

验证

在这里插入图片描述

Django工作流程

在这里插入图片描述

相关推荐

  1. 第一 基本指令

    2023-12-12 07:20:08       7 阅读
  2. 第一:C++基础

    2023-12-12 07:20:08       9 阅读
  3. 第一:CSS基础入门

    2023-12-12 07:20:08       12 阅读
  4. 第一 Python基础介绍

    2023-12-12 07:20:08       9 阅读
  5. 第二Django的深度潜行

    2023-12-12 07:20:08       42 阅读
  6. django基本使用(一)

    2023-12-12 07:20:08       29 阅读
  7. 【算法基础第一基础算法

    2023-12-12 07:20:08       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 07:20:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 07:20:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 07:20:08       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 07:20:08       20 阅读

热门阅读

  1. 面向遥感图像的道路区域提取及优化

    2023-12-12 07:20:08       36 阅读
  2. 【数据结构】——图简答题模板

    2023-12-12 07:20:08       35 阅读
  3. 数据结构传参及相关问题

    2023-12-12 07:20:08       41 阅读
  4. mac安装elasticsearch8.x

    2023-12-12 07:20:08       44 阅读