Django入门学习

说明


关于Django

Django仅仅是一个web框架,并不是一个web服务器。就像Tomcat是个web服务器,而springMVC是web框架。(不过Django为了开发者方便,嵌入了一个简单的服务器。所以开发后期本文会通过使用nginx代替Django自带的web服务器。)认清这一点很有意义,我们在Django的开发中主要实现model,view,controller三部分。

关于Office Automation

创建办公室自动化(office automation)项目。实现基本功能包括:

  1. 用户管理
    1.1 注册
    1.2 登陆
  2. 账单管理
    2.1 账单查询
    2.2 新增账单记录
    2.3 删除账单记录

1.创建并配置该项目Office Automation


python版本:3.6.1
django版本:2.1.8
创建项目oa


django-admin startproject oa

第一步 启动Django服务器

cd oa #进入项目
python3 manage.py runserver 0.0.0.0:8080#启动该服务器

虽然启动了该项目但是外网仍然无法访问。要想外网访问,需要配置该项目。
第二步 配置该项目


修改项目目录下的oa/setting.py文件,修改后就可以访问了。

ALOWED_HOST = ['*']#接受所有地址请求,也可以设置仅自己地址访问
LANGUAGE_CODE = 'zh-Hans'#设置编码格式
TIME_ZONE = 'Asia/Shanghai'#设置时区
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myApp',#添加app
]

2.创建应用

python manage.py startapp myApp

创建应用后将应用添加到setting.py中INSTALLED_APPS下。
完成后在脑海中构建出MVC模式的简单模型。
1.用户访问什么网页?,一共有哪些?相互关系如何?
2.服务器把url地址映射到哪里?

5.创建模板templates


直接在项目目录下创建文件夹templates。模板就是存放html页面的文件夹。把html分离符合MVC模式。
在这里插入图片描述

mkdir templates

5.1在模板templates目录下创建index.html

在这里插入图片描述

5.2向Django指明模板路径

6.修改模型


模型指MVC中的Model。修改模型用来抽象数据库。

6.1更改model.py文件

下面是修改model.py的一个例子。
在这里插入图片描述

6.2创建数据库

更改模型后,只是类似于声明了你需要的数据类型,而数据库中并没有相应的字段。通过以下两条指令对数据库更新:

python3 manage.py makemigrations hello#为INSTALLED_APPS中所有APP生成模型中的sql指令
python3 manage.py migrate hello #执行上述指令

6.3更改setting.py

配置数据库信息。
在这里插入图片描述

6.4更改__init__.py

这里解决了数据库的一个错误。具体原理未知。
在这里插入图片描述

7.Django下网络访问流程顺序


  1. 用户在地址栏输入ip:port/hello
  2. Django服务器检测到访问后,把访问请求交由urls.py管理。
  3. 程序员需要在urls.py文件中指定用户地址的映射。例如把ip:port/hello映射到hello.py。
  4. 程序员通过实现hello.py向用户展示信息。(如果该页面有向数据库的读写,则通过创建模型类的对象使用数据库)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值