• Django初识之从下载安装到顺利的将第一个Django跑起来


    Django是什么?

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模版T。

    目前python比较热的Web应用框架有三个Django、Tornado、Flask。

    •   Django    大而全,自带了很多功能模块
    •     Flask:      短小精悍,自带的功能模块特别少,大部分都是依赖于第三方模块(小而轻)
    •     Tornado:     异步非阻塞 主要用在处理高io 多路复用的情况 可以写游戏后端

    Django相较与其他WEB框架有什么优势?

    大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

     

    什么是web应用

    软件开发架构
        c/s架构
            客户端
            服务端
        b/s架构
            浏览器
            服务器
        本质:b/s架构其实也是c/s架构
       

    HTTP协议

        超文本传输协议:规定了客户端与服务端消息传输的格式
        
        四大特性:
            1.基于TCP/IP协议作用于应用层的协议
            2.基于请求响应
            3.无状态
            4.无连接
        
        数据格式之请求:
            请求首行
            请求头(一堆k,v键值对)
            
            请求体(post请求携带的数据)
        数据格式之响应:
            响应首行
            响应头(一堆k,v键值对)
            
            响应体(post请求携带的数据)
     注意,中间的空格一定不能忘 
        
        响应状态码
            1XX    服务器已经成功接受到你的数据正在处理,你可以继续提交其他数据
            2XX    请求成功 服务器已经将你请求的数据发送给你了
            3XX 重定向
            4XX 请求资源不存在
            5XX 服务器错误
       

    Django流程介绍

    Django的下载安装

    it界对软件的安装有个宗旨就是不用最新的,而是要用最稳的,经历了时间检验的

    Django也是不要用最新的2.2.2,推荐1.11.11

    有两种下载方法(下载好就是安装好l):

    1,命令行直接输入   pip3 install django==1.11.11

    2,用pycharm下载   用搜索模块的方法直接搜索Django,默认2.2.2,改成1.11.11

    如何确定已经安装成功了呢?

    安装好后pyth目录下script目录下会有django的exe文件

    把scripts这个变量添加进环境变量

    最后在直接cmd输入django-admin

     

    这样就确定安装成功了

    Django的创建

    创建django也有两种方式,命令行和pycharm

    1,命令行:  django-admin startproject 项目名        

    创建的的项目就在当前目录下,比如:

    表示创建的django项目就在D的根目录下

     2,pycharm创建

    这儿我选择本机创建。

    这里有三个注意事项

        1.计算机的名称不能有中文
        2.一个pycharm窗口就是一个项目,不要多个项目放在一个窗口里面
        3.项目名不能起中文

    app应用的创建

    这里的app是什么?

    举一个比喻
        一个django项目就是一所大学
        app就是大学里面的学院

    1,命令行创建:python3 manage.py startapp app名称(一定要切到创建的Django项目的目录下再输入指令)

    2,pycharm创建:

    (1)pycharm下面的命令行,输入python3 manage.py startapp app名称

    (2)Tools下面run manage task功能栏 输入python3 manage.py startapp app名称

    强调:
                1.用django一定要保证只有一个在运行状态 (要注意的是你可能pycharm只起了一个项目,但还是会有更新不了代码的情况的话,有可能是命令行起了一个项目,而你没注意)
                2.一定记得清浏览器的缓存(浏览器不i同可能设置位置不同,百度很强大)

     Django项目中文件介绍

    app01,app02是两个应用名

    应用名下有
        migrations  数据库迁移记录相关数据
        admin.py       django后台管理相关
        models.py   模型表相关
        views.py       视图函数相关

    myfirstdjango是项目名
    项目名下有
        settings.py  配置文件
        urls.py        路由与视图函数的映射关系
    templates(命令行创建的项目没有这个文件,我们需要手动添加)
        项目用到的所有的html文件
    manage.py
        django入口文件

    Django设置文件的简单说明

    pycharm启动项目,打开settings配置文件

     

    设置允许访问的id,不设置默认都能访问

    django自带7个app

    注意新创建的app需要在配置文件中注册才能生效

     'app01.apps.App01Config'   # 可以用全称
     'app01'                      # 也可以简写

    模板文件夹相关

    注意'DIRS': [os.path.join(BASE_DIR, 'templates')] 可能没有,如果没有一定要加上

     

    django连接数据库的配置

     

    这个在urls.py里,URL配置,它是URL模式以及要为该URL模式调用的视图函数之间的映射表,通俗的说就是输入网址是带上/admin后缀就会执行admin.site.urls的视图函数,返回这个函数的结果,浏览器拿到结果再显示

    让django跑起来(django小白必会三板斧)

    from django.shortcuts import render,HttpResponse,redirect

    HttpResponse    返回字符串
    render            返回一个html页面      
    redirect          重定向
        

    两种给前端页面传值的方式
            
    def reg(request):
                user_dict = {'name':'jason','password':'123'}
                return render(request,'reg.html',{'user_dict':user_dict})
            
            def reg(request):
                user_dict = {'name':'jason','password':'123'}
                return render(request,'reg.html',locals())

    locals()是将所有变量都传过去


    具体步骤

     先打开urls.py,URL配置

     

    再到app的view视图写这三个函数

    打开浏览器输入127.0.0.1:8000/index

    127.0.0.1:8000/admin

    127.0.0.1:8000/teg

    127.0.0.1:8000/login

    就能显示出我们想要的数据

  • 相关阅读:
    调度器30—调度相关结构体—struct rq Hello
    Linux内核机制—wait唤醒机制 Hello
    Java File I/O 操作 Hello
    【Linux】查端口 查进程
    【ElasticSearch】去掉重复数据
    【MySQL】优化
    【Java SE】时区,LocalDate,LocalDateTime
    【Redis】配置
    【VUE】neditor
    【VUE】json查看vuejsonviewer查件
  • 原文地址:https://www.cnblogs.com/tuanzibuku/p/10982089.html
Copyright © 2020-2023  润新知