一、项目预览

  1.在创建项目之前,必须先进入虚拟环境,因为我们的包安装在我们的虚拟环境中,不在我们的中环境中

    >>> ./venv/Scripts/activate

  2.创建一个项目

    >>> django-admin startproject bbs

  3、项目结构

    

    bbs 项目文件夹

     bbs/bbs

     bbs/manage.py 项目命令入口,一般我们在项目中执行命令都是python manage.py [+命令]

     bbs/bbs/__init__.py 表示内部的bbs是一个python包

     bbs/bbs/asgi

     bbs/bbs/settings 项目的配置文件

     bbs/bbs/urls.py 项目的主路由

     bbs/bbs/wsgi.py

  4.创建一个App(应用)

  应用一般指的是一个网页主页的导航部门,每一个导航可以被称之为一个应用,一般是一个构建一个功能的页面集合体

  >>>  cd bbs

  >>> python manage.py startapp article

  

  执行完命令后,就会生成上面的一个名为article的包

    article/migrations 里面将会存放数据库迁移文件

    article/__init__.py 标识是一个包

    article/admin.py 注册数据表到django自带的admin后台界面

    article/apps.py

    article/models.py 该应用的数据表对应的ORM类

    article/test.py 测试文件

    articel/views.py 视图函数文件

  一般会在每个包里都自建一个urls.py,为该包的路由

二、浏览器与django运行项目的交互过程

  >>> python manage.py  runserver (启动项目)

   

 当我们在浏览器的地址栏输入127.0.0.1:8000时,浏览器就会向本地的8000端口发送一个HTTP请求,而我们的django项目刚好运行在这个端口,就会接受到这个

请求,经过解析后,就会找到urls.py文件中对应的路由,总是先经过与项目名称相同的包下面的urls.py中查找,找到对应的路由后,与之相对应的视图函数就会被调用

返回一个HTTP响应,浏览器接收到后,就会把它渲染到页面上

  

  

django之初建项目的更多相关文章

  1. Vue学习笔记(五)——配置开发环境及初建项目

    前言 在上一篇中,我们通过初步的认识,简单了解 Vue 生命周期的八个阶段,以及可以应用在之后的开发中,针对不同的阶段的钩子采取不同的操作,更好的实现我们的业务代码,处理更加复杂的业务逻辑. 而在这一 ...

  2. Django边学边记—新手Django建项目各流程细节

    一.准备虚拟环境 1)安装 virtualenv pip install virtualenv 2)virtualenvwrapper pip install virtualenvwrapper-wi ...

  3. IDEA 初建Spring项目(Hello Spring)

    新建项目 在文件夹中建立一个项目文件 打开项目 打开IDEA,点击Open,根据所建项目路径找到该项目 依赖注入 点击项目名右键,点击new,点击file,创建pom.xml 内容为: <pro ...

  4. 初建FreeMarker工程

    初建FreeMarker工程 ——@梁WP 背景:听说freemarker可以用来写页面的组件,热衷于编写可重用代码的我,迫不及待地研究了freemarker,不过,在写组件之前,还是先研究一下fre ...

  5. Django之初

    Django之初 Django的开始: #安装Django: pip3 install django #创建Django项目: django-admin startproject 项目名 #比如: d ...

  6. Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法

    Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法 2018/11/06 Chenxin 资料说明 Django基础入 ...

  7. ReactNative新手学习之路01-创建项目开始

    新手学习之路01-创建项目开始 小菜鸟准备学习RN开发,决定写下自己的学习历程,方便其他也想要学习RN的人,后期会持续更新写下自己所有学习经历,一步步从菜鸟成长成业内高手.开发环境准备,本文默认环境已 ...

  8. IDEA建项目的正确姿势

    今天建多模块的分布式项目的时候折腾死了,可能是建项目的方法不对,最后经过摸索,觉得这样是比较合适的: 首先建一个空的项目:Empty Project,就是项目文件夹 然后在里面建model

  9. 12:django 模板 内建过滤器

    django 模板 内建过滤器 add{{ value|add:"2" }} 对象的加法,如果都是整数类型,简单的算术加法:如果是列表,则是列表的相加 如果无法执行对象的相加,比如 ...

随机推荐

  1. javascript获取数组最后一个元素(三种方法)

    JavaScript 获取Array末尾元素 一.JavaScript pop() 方法 pop() 方法用于删除并返回数组的最后一个元素. 注意:pop() 方法将删除 arrayObject 的最 ...

  2. [CTS2019]珍珠(NTT+生成函数+组合计数+容斥)

    这题72分做法挺显然的(也是我VP的分): 对于n,D<=5000的数据,可以记录f[i][j]表示到第i次随机有j个数字未匹配的方案,直接O(nD)的DP转移即可. 对于D<=300的数 ...

  3. Gre封装

    在防火墙上连  云时,可以用g0/0/0 在防火墙上不连 云时,一定不用0/0/0 !!!!!!!!! 交换机什么都不配置. FW2: interface GigabitEthernet0/0/0 u ...

  4. http跳转http

    server {listen 80;server_name 123.com;root /var/www/web/123;index index.html index.htm index.php;rew ...

  5. USACO 2009 Open 干草塔 Tower of Hay(贪心+单调队列优化DP)

    https://ac.nowcoder.com/acm/contest/1072/B Description 为了调整电灯亮度,贝西要用干草包堆出一座塔,然后爬到牛棚顶去把灯泡换掉.干草包会从传送带上 ...

  6. [LC] 350. Intersection of Two Arrays II

    Given two arrays, write a function to compute their intersection. Example 1: Input: nums1 = [1,2,2,1 ...

  7. 1)PHP,数据库操作类网址

    (1)脚本之家 http://www.jb51.net/article/94347.htm (2)一个博客 http://www.cnblogs.com/lvchenfeng/p/5003629.ht ...

  8. day45-多线程(server和多个client通信)

    #server: import socket from threading import Thread def func(conn): conn.send(b'hello client') ret = ...

  9. VS编译release版本的出现的LNK1104 无法打开文件“libboost_filesystem-vc140-mt-1_58.lib

    最近在用restbed和vs2015做一个项目,debug编译的没问题,但是编译release就有问题,困扰了一天,说下我的出坑过程. 1.我用到了外部的库 restbed ,首先要想正确编译过,你的 ...

  10. openssl 密钥注意

    使用openssl生成的密钥,在对加密字符串进行数字签名的时候,程序一直报错,错误异常: algid parse error, not a sequence​ 其原因是因为,openssl生成的私钥没 ...