对于初学django新手,根据以下步骤可以快速进行Django环境搭建

虚拟环境创建

使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque.com/binowen/tn8zvy/inscle

pip install virtualenv

virtualenv ./env

source env/bin/activate

创建project

1.使用pip install 安装django

pip install django

2.使用django-admin startproject 生成项目

 `根目录的mysite/,仅仅是个目录而已,Django不会拿它做什么,它的名字可以随意修改`

注意: startproject不支持直接创建带短横线的项目名,e.g. hello-world

项目结构

  • asgi.py

兼容ASGI Web服务器的入口。

  • wsgi.py

兼容WSGI Web服务器的入口。

ASGI和WSGI,都是一种Python的Web服务网关接口协议,是在CGI通用网关接口,Common Gateway Interface)的标准上构建的。

  • urls.py

网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

  • views.py

处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

  • models.py

与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

  • forms.py

表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

  • templates 文件夹

views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

  • admin.py

后台,可以用很少量的代码就拥有一个强大的后台。

  • settings.py

Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

创建app

使用python manage.py startapp 创建****app

app是Django项目的应用,一个project可以包含多个app。在使用django-admin startapp命令后就会创建这样的目录文件,如下:

  • polls/

app的Python包,可以放在任意路径。修改存放路径,相关配置中的路径也需要修改。

  • admin.py

存放Django自带后台管理的models。

  • apps.py

app配置信息,例如:

from django.apps import AppConfig

class PollsConfig(AppConfig):

name = 'polls'

存放路径不同,name的值也不同。

  • migrations/

Django数据迁移生成的迁移记录文件。

  • models.py

存放app的models。

  • tests.py

单元测试。

  • views.py

视图函数(类)。

  • urls.py

app的路由配置,需要手动添加,可通过include()函数导入到mysite/urls.py中,例如:

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

path('admin/', admin.site.urls),

path('polls/', include('polls.urls')),

]

 polls/urls.py:

from django.urls import path

from . import views

urlpatterns = [

path('', views.index),

]

访问xxx/polls/就会路由到views.index

创建Template

  1. 创建templates文件夹,并把所有网页模板(.html)文件都放在此文件夹中。
  2. 创建static文件夹,并把所有静态文件(图像文件、CSS文件及.js等)都放在此文件夹中。

创建Model/View/Url

  1. 修改settings.py,把相关的文件夹加入,也把生成的app名称加入INSTALLED_APPS序列中。
  2. 编辑models.py,创建数据库表格。
  3. 编辑views.py,先import在models.py中创建的数据模型。
  4. 编辑admin.py,把models.py中定义的数据模型加入,并使用admin.site.register注册新增的类,让admin界面可以处理数据库内容。
  5. 编辑urls.py,先import在views.py中定义的模块
  6. 编辑urls.py,创建网站和views.py中定义的模块的对应关系。
  7. 执行数据库脚本初始化(如果有Model的话)

python manage.py makemigrations

python manage.py migrate

执行python manage.py runserver 0.0.0.0:8000 启动项目

工程化项目参考

由于Django官方并没有提供标准的项目结构

特点是①app放置在单独目录统一管理,②requirements和settings按环境做拆分

参考:

https://docs.djangoproject.com/en/3.1/intro/tutorial01/

https://django-edge.readthedocs.io/en/latest/Architecture/

【Django学习笔记】-环境搭建的更多相关文章

  1. MongoDB学习笔记~环境搭建

    回到目录 Redis学习笔记已经告一段落,Redis仓储也已经实现了,对于key/value结构的redis我更愿意使用它来实现数据集的缓存机制,而对于结构灵活,查询效率高的时候使用redis就有点不 ...

  2. 0.react学习笔记-环境搭建与脚手架

    0.环境搭建 笔者使用的是deepin/mac两种系统,因为两个电脑经常切换用.环境搭建没什么区别. 0.1 node安装 按照node官网叙述安装 # Using Debian, as root c ...

  3. VS2013中Python学习笔记[环境搭建]

    前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色 ...

  4. Spring学习笔记--环境搭建和初步理解IOC

    Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hiberna ...

  5. DVWA学习笔记-----环境搭建

    DVWA是一款渗透测试的演练系统,在圈子里是很出名的.如果你需要入门,那么就选它了. 我们通常将演练系统称为靶机,下面请跟着我一起搭建DVWA测试环境.  安装PHP集成环境 我这里用的是phpstu ...

  6. hadoop学习笔记——环境搭建

    基础环境准备: 系统:(VirtualBox) ubuntu-12.04.2-desktop-i386.iso hadoop版本:hadoop-0.20.203.0rc1.tar.gz jdk版本:j ...

  7. ESP32 学习笔记 - 环境搭建

    打开终端 输入命令 sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-seria ...

  8. Hibernate学习笔记--环境搭建及运行

    1.hibernate开发包下载 http://sourceforge.net/projects/hibernate/files/ 如果不能访问请用代理http://dongtaiwang.com/l ...

  9. Hadoop学习笔记(10) ——搭建源码学习环境

    Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...

  10. Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

    Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...

随机推荐

  1. document.getElementById & document.querySelector

    document.getElementById & document.querySelector https://developer.mozilla.org/en-US/docs/Web/AP ...

  2. Flutter: 监听App显示,隐藏

    关键代码 class _MyAppState extends State<MyApp> with WidgetsBindingObserver { @override void initS ...

  3. K8S部署Redis Cluster集群

    kubernetes部署单节点redis: https://www.cnblogs.com/zisefeizhu/p/14282299.html Redis 介绍 • Redis代表REmote DI ...

  4. SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列教程01---搭建前端工程

    豆宝社区项目实战教程简介 本项目实战教程配有免费视频教程,配套代码完全开源.手把手从零开始搭建一个目前应用最广泛的Springboot+Vue前后端分离多用户社区项目.本项目难度适中,为便于大家学习, ...

  5. django学习-22.admi管理后台页面的文案展示等相关配置

    目录结果 1.前言 2.完整的操作步骤 2.1.第一步:对[settings.py]里的相关常量的值做如下修改 2.2.第二步:重启django项目[helloworld]的服务 2.3.第三步:重新 ...

  6. 图片居中的flex实现

    文本居中 text-align:center; 如果是图片放在div中,就没办法了.用flex可以很简单实现. display: flex; justify-content: center; /* 图 ...

  7. 从微信小程序到鸿蒙js开发【15】——JS调用Java

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1.新建一个Service Ability2.完善代码逻辑3.JS端远程调用4.<从微信小 ...

  8. Hyperf-事件机制+异常处理

    Hyperf-事件机制+异常处理 标签(空格分隔): php, hyperf 异常处理器 在 Hyperf 里,业务代码都运行在 Worker 进程 上,也就意味着一旦任意一个请求的业务存在没有捕获处 ...

  9. 5G组网方案:NSA和SA

    目录 5G组网的8个选项 独立组网(SA) 选项1 选项2 选项5 选项6 总结 非独立组网(NSA) 选项3系列 选项3 选项3a 选项3x 选项7系列 选项4系列 选项8 演进路线 5G组网的8个 ...

  10. css 超过一行省略号

    //超过一行省略号 overflow: hidden; white-space: nowrap; text-overflow: ellipsis; //超过两行省略号 overflow: hidden ...