Django基础学习一
Django需要安装Django和jinja2,所以在开始学习之前,要先按照Django模块和jinja2模块,Django默认的数据库是SQLite,所以建议大家在学习之前需要先安装SQLite
一、前期的环境准备
1、使用pip安装的方式安装Django和jinja2
2、安装SQLite,安装方法如下
a、下载sqlite-tools-win32-x86-3210000和sqlite-dll-win32-x86-3210000,然后解压
b、在C盘根目录下创建文件夹sqlite,将解压出来的文件复制到该目录中sqldiff.exe、sqlite3.def、sqlite3.dll、sqlite3.exe、sqlite3_analyzer.exe
c、为sqlite设置环境变量C:\sqlite
d、在windows的cmd命令中输入sqlite3,如果有下面的输出,则认为sqlite的安装成功,设置环境变量成功

至此,Django学习的环境准备工作完成
二、如何创建一个Django的程序,一个Django程序由“工程”和“app”组成
1、创建一个工程
进入要创建Django工程目录中,执行如下的命令

这个时候我们进入到F盘,就可以看到我们创建的工程的目录

2、创建一个app,其实django的主要功能是在app中实现的,所以必须要创建一个app

支持学习Django要用到的东西我们都已经创建完成,一个project支持创建多个app
三、开始正式进入学习Django
1、首先来学习一下Django中的文件
工程中的文件
settings.py:记录所有的配置信息
urls.py:用来匹配所有的url,然后把不同的url转发给对应的函数
wsgi.py: 路由选择器
APP中的文件
models.py:操作数据库的代码都在这里,比如一个表的类的等
views.py:这里写所有的函数,比如一个url过来,我们需要给这个url什么返回值之类的
test.py:主要用来写单元测试
templates:主要是放置html文件,这个目录是默认不存在的,需要我们手动创建
2、在来看下Django的处理用户的流程
a、一个用户请求过来,现在url中匹配
b、匹配成功后,在views中找到对应的函数
c、然后去数据库中查找数据
d、把数据库中查找的数据返回给url
3、数据库相关的命令
首先,默认Django使用的是SQLite数据库,我们在工程的settings中可以看到数据库的引擎是SQLite

然后在models中生成表的类

最后在setting表明是为哪个app创建数据库表

至此,我们就可以执行命令创建数据库了
python manager.py makemigrations 生成配置文件
python manager.py migrate 根据配置文件生成表
至此就可以看到有两个文件生成,一份是配置文件,一份是SQLite配置文件

第一节到此结束
Django基础学习一的更多相关文章
- Django基础学习二
今天继续学习django的基础 学习用户提交url如何获得返回值 1.首先需要在工程的urls文件定义指定的urls要路由给哪个函数 在这个例子中,我们定义home的urls路由给views里的tes ...
- Django基础学习七之如何配置django+mysql
很久没有更新博客了,也有段时间没有持续性的学习了,感觉堕落了,今天继续开始学习吧 今天主要来学习一下在django下配置mysql的数据库和使用admin用户管理数据库 1.在project中的set ...
- Django基础学习六之渲染
今天简单的介绍一下Django的template的渲染和Django的template的基本的语法 首先我们先启动一个django的shell,首先需要进入django的工程目录下启动django的s ...
- Django基础学习五_引入静态文件
今天继续学习Django,今天主要掌握两个小点 一.如果为Django项目中引入静态文件 1.先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以了 2.在pr ...
- Django基础学习四_数据库的增删改查
今天主要学习两个东西 1.如何对数据库做增删改查 2.如果将数据库中的数据用html的方式返回到前台 一.对数据库中增删改查操作 1.首先需要先见表,见表的方法我们在“http://www.cnblo ...
- Django基础学习三_路由系统
今天主要来学习一下Django的路由系统,视频中只学了一些皮毛,但是也做下总结,主要分为静态路由.动态路由.二级路由 一.先来看下静态路由 1.需要在project中的urls文件中做配置,然后将匹配 ...
- DJANGO基础学习之转义总结:escape,autoescape,safe,mark_safe
何谓转义?就是把html语言的关键字过滤掉.例如,<div>就是html的关键字,如果要在html页面上呈现<div>,其源代码就必须是<div> PS:转义其实就 ...
- Django基础学习笔记
Django开发流程 创建一个django项目:命令:django-admin startproject 项目名 进入到项目并创建一个应用:命令:python manage.py startapp 应 ...
- Django基础学习之Cookie 和 Sessions 应用
在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的东西的 ...
随机推荐
- MQTT再学习 -- 搭建MQTT服务器及测试
最近在搞 PM2.5 采集,需要用到 MQTT 传输协议.协议部分看了几天的,讲的七七八八.本身在 intel 上有 写好的MQTT 的源码,现在的工作其实也就是移植到单片机上或者DM368板卡上.不 ...
- webpack 提升90%的构建速度 HardSourceWebpackPlugin
HardSourceWebpackPlugin 插件 不能提升第一次构建的速度,但对于第二次构建能提升99%的构建速度 第一次构建: 第二次: 提升了..,算不出来,反正就是很多啦~~~ npm in ...
- 史上最全的maven的pom.xml文件详解(转载)
此文出处:史上最全的maven的pom.xml文件详解——阿豪聊干货 <project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- 转 关于nvcc fatal : Value 'sm_20' is not defined for option 'gpu-architecture'的问题
原文地址: https://blog.csdn.net/Mao_Jonah/article/details/78965827 关于nvcc fatal : Value ‘sm_20’ is not d ...
- Linux系列:Linux中如何安装.rpm、.tar、.tar.gz和tar.bz2文件
转载自:https://blog.csdn.net/lanxuezaipiao/article/details/21896579 我以下面三个包为例:(三个包都在/etc/opt下) A. examp ...
- Telnet远程重启路由器TP-LINK
突然断网,以前房东的路由器管理页面可以打开,今天突然间就打不开了.ping了下,可以ping通,于是就想起了房东的路由器是TP-LINK的 可以 telnet登陆的.每次,断网,我都会重启房东的路由器 ...
- table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)
table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐): 并且在tr中对起设定padding是有用的,可 ...
- 【转】为什么要用GIT而不是SVN
原文网址:http://www.cnblogs.com/perseus/archive/2012/11/22/2782051.html 使用了近一年的git之后,再使用svn,发现自己svn这种版本管 ...
- hadoop之 安全模式及SafeModeException
问题: hadoop启动的时候报错 HTTP ERROR 500 Problem accessing /nn_browsedfscontent.jsp. Reason: Cannot issue de ...
- linux(centOs)下memcached安装
1.libevent安装.为啥先安装它?因为不先装,memcached这座房子就没打地基: yum install libevent-devel 敲回车后出现: Loaded plugins: fas ...