自学Django Day1

一、Django安装及简介

 1.安装Django

pip install django

        site-packages: 用户权限设置为最高权限。 

2.基本配置文件  

        mysite/
            manage.py
            mysite/
                __init__.py                Python包的初始化文件
                settings.py                项目的配置文件-包含项目启动时需要的配置
                urls.py                    项目的主路由配置-HTTP请求进入Django时,优先调用
                asgi.py
                wsgi.py                    WEB服务网关的配置文件-Django正式启动时需要用到
  • 最外层的 mysite/ 根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。
  • manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有 manage.py 的细节。
  • 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 mysite.urls).
  • mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识
  • mysite/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。
  • mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。
  • mysite/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。
  • mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。

3.路由系统 

4.MVT(模型层/视图层/模板层) 

        Model:通俗来讲就是找数据的

        Template:渲染页面的

        View:请求进来该交给谁(谁就是View)

5.Cookies和Session 

        记住HTTP状态的两套技术

6.分页及发邮件 

7.Admin管理后台 

        用户站点/管理站点(面向网站数据层面的配置)

8.用途

        1.HTTP请求:网站/微信公众号/小程序后端开发

        2.人工智能平台融合:转发用户需求

二、项目结构

1.创建项目

  • 安装Django后,虚拟机终端会有django-admin命令
  • 执行 django-admin startproject XXX(项目名)    --->创建对应项目文件夹
  • django-admin startproject myProject1               --->创建出myProject1项目

2.启动项目

python manage.py runserver

启动后会显示:

Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 11, 2022 - 21:28:27
Django version 4.1.4, using settings 'mysite1.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[11/Dec/2022 21:28:33] "GET / HTTP/1.1" 200 10681
[11/Dec/2022 21:28:33] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[11/Dec/2022 21:28:33] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[11/Dec/2022 21:28:33] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
[11/Dec/2022 21:28:33] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
Not Found: /favicon.ico
[11/Dec/2022 21:28:33] "GET /favicon.ico HTTP/1.1" 404 2111

3.关闭服务

        方法一: 在runserver启动终端下,执行ctrl+C 可关闭Django服务

        方法二:通过端口号关闭 

                1.netstat -anp |grep 8000   由端口号port(8000)查看进程id

                2.kill 8911 #pid                    通过PID杀进程

4.manage.py 包含项目管理的子命令,如:

  • python manage.py runserver        启动服务
  • python manage.py startapp          创建应用
  • python manage.py migrate           数据库迁移
  • 直接执行python manage.py 可列出所有的Django子命令

5.settings.py(包含了Django项目启动的所有配置项)

  • 公有配置(Django已经写好的)
  • 自定义配置      (命名规则:1.大写  2.自定义)

         ①BASE_DIR='XXX'      #BASE_DIR 必须是大写  (项目的文件夹目录)

        绑定当前项目的绝对路径(动态计算),所有文件夹都可以依赖此路径。

BASE_DIR = Path(__file__).resolve().parent.parent

打印出来后结果为:

C:\Users\Yddd\mysite1        (我创建的Django文件所在的目录绝对地址)

        ②Debug         ------项目启动模式

                #True        -----调试模式

                        Ⅰ检测代码修改后立刻自动重启服务

                        Ⅱ报错页面

        ​​​​​​​        ​​​​​​​        

                        随便打开一个不存在的page,会产生报错提示,根据报错可以修改代码段。

 

                #False      -----正式启动模式(上线模式)

        ③ALLOWED_HOSTS        (区别虚拟站点)

                请求头:HOST头

                有效过滤一些脏请求

                ALLOWED_HOSTS = ['127.0.0.1']

            局域网中配置:

                启动方式:python manage.py runserver 0.0.0.0:5000

                指定网络设备其他主机想访问这个站点,需在本机将本机内网IP地址加到ALLOWED_HOSTS中。

        eg:ipconfig 查询本机IP地址为:10.0.2.59

        ALLOWED_HOSTS = ['10.0.2.59']

        其他电脑在网页中输入:10.0.2.59:5000便可以访问到该网页

        ④INSTALLED_APPS        (配置Django的应用)

编辑 mysite/settings.py 文件前,先设置 TIME_ZONE 为你自己时区。

此外,关注一下文件头部的 INSTALLED_APPS 设置项。这里包括了会在你项目中启用的所有 Django 应用。应用能在多个项目中使用,你也可以打包并且发布应用,让别人使用它们。

通常, INSTALLED_APPS 默认包括了以下 Django 的自带应用:

        这些应用被默认启用是为了给常规项目提供方便。

        默认开启的某些应用需要至少一个数据表,所以,在使用他们之前需要在数据库中创建一些表。请执行以下命令:

       ⑤MIDDLEWARE                (用于注册中间件)

       ⑥ROOT_URLCONF        (Django主路由文件位置) 

               用于配置主url配置--->项目同名下的urls

               每一个请求进来都优先走这个主路由,默认情况下就是urls.py,一般情况都不会变。

       ⑦TEMPLATES                (模板)

                用于指定模板的配置信息

       ⑧ LANGUAGE_CODE       (语言信息配置)

                中文:'zh-Hans'        访问网页会显示中文

       ⑨TIME_ZONE                (时区)

                默认为格林威治 'UTC'

                中国时间是:‘Asia/Shanghai’

       settings.py中的所有配置项,都可以按需的在代码中引入,引入方式为:

from django.conf import settings

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值