django学习笔记-1
1、背景说明
django版本:1.8.2
python版本:3.6.5
pip版本:pip 18.0
以紫红色标注的为python文件中的示例代码。
2、安装django
pip install django
3、创建项目
创建项目命令:
django-admin startproject 项目名称 创建完成项目目录如下:
E:\DJANGO_PROJECTS\TEST1 #该处test1为项目的名称
├─.idea
│ └─inspectionProfiles
└─test1 #此目录为应用目录,也可以理解为一个模块
└─__pycache__
创建完成项目之后,各文件或目录解释,此处父级目录为:E:\DJANGO_PROJECTS\test1。
db.sqlite3:默认的数据库存储引擎,采用sqlite3作为默认的数据库存储引擎。
manage.py:项目的管理配置文件
test1/:项目中应用目录
test1应用目录下文件说明:
__init__.py:包含该文件,说明test1是一个模块。
settings.py:项目的配置文件,包含数据库配置、项目下应用的注册配置、项目的根url等配置。
urls.py:项目的访问url配置,如下所示代码:
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^booktest/',include('booktest.urls'),
]
wsgi.py:项目部署服务器上运行,wsgi配置文件。
4、创建应用
此处操作目录为:E:\DJANGO_PROJECTS\test1。 创建应用:
python manage.py startapp 应用名称 一个项目中可以创建多个应用。
备注:需要在我们的项目目录下进行创建。同时一个项目中可以创建多个应用。 自定义应用目录说明,假设此处自定义创建的应用为bookinfo,则此处目录为:E:\DJANGO_PROJECTS\test1\bookinfo。
migrations:中文迁移。可以根据当前项目中的模型类去生成数据库脚本,并将脚本映射到数据库中。
modles.py:自定义应用的模型类文件,在此文件定义类,即数据库中表以及字段的配置,以及表之间的关联关系。
tests.py:django自带的测试文件
views.py:定义应用的视图文件,在该文件中主要定义视图的类,即定义返回前端展示的数据、引用的模板文件等等。 定义完模型类之后,需要做一次迁移操作,即生成迁移。生成迁移的文件即是将来转化为sql语句在数据中执行。 生成迁移如下:
python manage.py makemigrations
生成迁移之后,会在定义了模型的应用的migrations目录生成一个0001_initial.py文件。该文件内容将来可以转化为sql语句执行。 执行迁移:即根据生成的迁移的文件,去数据库中执行对应的sql语句来创建表。
python manage.py migrate 如果重新定义了应用的模型类,在未修改数据库表结构的情况下,不需要进行迁移操作,但是需要重新进入manage shell方可进行相关信息输出。 在生成迁移之前,需要先做一次注册动作,注册需要修改的文件为settings.py,所属目录为E:\django_projects\test1\test1\settings.py。
所有在项目中引用的应用,都需要先进行注册操作,不进行注册,是无法在项目中进行调用的。 注册操作示例配置如下:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bookinfo',#即为自定义的应用名称
)
5、启动应用已经访问应用
python manage.py runserver ip地址:端口
默认监听的端口为8000。
默认监听的ip地址为:127.0.0.1
备注:需要在我们的项目目录下,此处示例目录为:/e/django_projects/test1 访问如下:
url地址:127.0.0.1:8000
此处访问404是由于我在E:\django_projects\test1\test1\urls.py中配置了url,没有配置"/"url规则导致,但是已经可以看出,django已经运行起来了。

django学习笔记-1的更多相关文章
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习笔记(五)—— 表单
疯狂的暑假学习之 Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
- Django 学习笔记(二)
Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django 学习笔记(四)模板变量
关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
- Django 学习笔记(七)数据库基本操作(增查改删)
一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...
- Django 学习笔记(六)MySQL配置
环境:Ubuntu16.4 工具:Python3.5 一.安装MySQL数据库 终端命令: sudo apt-get install mysql-server sudo apt-get install ...
随机推荐
- Ubuntu 重新安装声卡驱动
有的时候ubuntu 的声卡不能用,没有声音也不能使用麦克风,所有很困惑,查看声卡驱动的时候不显示声卡的驱动,所有我们要自己安装声卡驱动, 1.下载驱动包这是比较新的声卡驱动,1.0.20 $ wge ...
- (转)CloudStack 安装及使用过程中常见问题汇总
CloudStack 安装及使用过程中常见问题汇总 在做工程项目中对CloudStack 安装及使用过程中常见的几个问题及如何解决做一个总结. 1.Windows XP虚拟 ...
- jqgrid 在表格底部添加自定义按钮
往往我们需要在jqgrid底部的分页行中添加一些自定义按钮,效果如下: 上图中,三个按钮均是自定义添加上的. 1.要新增自定义按钮在表格底部,仍离不开分页div,需要给jqgrid绑定分页方法 2.由 ...
- 转自《https安全链接的配置教程:startSSl免费证书申请与nginx的https支持配置》
一.什么是 SSL 证书,什么是 HTTPS 网站? SSL证书是数字证书的一种,类似于驾驶证.护照和营业执照的电子副本.SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secu ...
- VisualSVN server 搭建SVN服务器
最好用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用.
- BZOJ2427: [HAOI2010]软件安装 tarjan+树形背包
分析: 一开始我以为是裸的树形背包...之后被告知这东西...可能有环...什么!有环! 有环就搞掉就就可以了...tarjan缩点...建图记得建立从i到d[i]之后跑tarjan,因为这样才能判断 ...
- Scala--数组相关操作
一.定长数组 Array定长数组,访问数组元素需要通过() 数组长度是固定的,但是内容可以修改 val nums = new Array[Int](10) //长度为10的int数组 初始化为0 v ...
- 一条insert语句插入数据库
CREATE TABLE test_main ( id INT NOT NULL, value VARCHAR(10), PRIMARY KEY(id) ); oracle插入方式:INSERT IN ...
- #20155232《网络对抗》Exp9 Web安全基础
20155232<网络对抗>Exp9 Web安全基础 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 WebGoat Webgoat是OWASP组织研 ...
- Luogu P1558 色板游戏
(此题与POJ2777重题) 为了加深对线段树的记忆,然后开始搞这道题. TM的WA了一下午就是发现x可能大于y(然而题目里说的还很清楚,我TM没看见) 这道题只需要在线段树的板子上改一些地方就可以了 ...