Django安装及建立工程

Django MTV模型介绍

Django的MTV分别表明:

       Model(模型):负责业务对象与数据库的对象(ORM)html

       Template(模版):负责如何把页面展现给用户python

       View(视图):负责业务逻辑,并在适当的时候调用Model和Templateweb

       此外,Django还有一个urls分发器,它的做用是将一个个URL的页面请求分发给不一样的view处理,view再调用相应的Model和Templateshell

Django基本命令

下载安装Django,到python安装目录下面的Scripts目录
C:\>cd C:\Users\lenovo\AppData\Local\Programs\Python\Python36\Scripts
C:\Users\lenovo\AppData\Local\Programs\Python\Python36\Scripts>pip3 install django
添加环境变量

 

 建立一个新的Django项目
D:\>django-admin startproject mysite
 当前目录下会生成mysite的工程,目录结构以下

mysite:这个才是工程的包名。
__init__.py:代表mysite是一个包。
manage.py : Django项目里面的工具,经过它能够调用django shell和数据库等,在manage.py的同级目录使用python manage.py 能够看到可使用的命令列表。
settings.py :Django的配置文件,包含了项目的默认设置,包括数据库信息,调试标志以及其余一些工做的变量。
urls.py :负责把URL模式映射到应用程序。
wsgi.py:WSGI是web server gateway interface,这个文件是使project符合这种协议的入口点(entry-point)

启动django项目

在manage.py的同级目录下运行这个命令就能够看到如下内容
D:\mysite>python3 manage.py runserver 8080
Performing system checks...

System check identified no issues (0 silenced).
......
Starting development server at http://127.0.0.1:8080/
Quit the server with CTRL-BREAK.
这样咱们的django就启动起来了!当咱们访问:http://127.0.0.1:8080/时就能够看到

Django自带了一个开发服务器,便于开发使用(Django官方强调不能用做生产环境),默认端口号是8000,若是想运行在别的端口号,如下面的方式运行便可,好比:9000
python manage.py runserver 9000
# 在局域网内其余电脑上访问你的站点
python manage.py runserver 0.0.0.0:9000

按Ctrl C中止服务器数据库

新建app

一个project能够又多个app,一个app能够同时属于多个project。经过如下命令建立一个app(在project目录下)
D:\mysite\>django-admin startapp blog
建立app后的目录结构,由于Django会自动建立一系列文件,咱们须要明白每一个为文件的做用

blog:app的根目录
admin.py:Django自带了一个管理界面,这个文件能够注册model在界面中管理
__init__.py:代表polls也是一个包
migrations:用来初始化数据库,在执行python manage.py makemigrations 的时候会自动生成一个文件在这里
__init__.py:代表migrations也是一个包
models.py:在这个文件里面定义model类
tests.py:写测试代码
views.py:视图,Django映射urls.py里面的url的时候,在views.py里面查找对应的处理方法
在PyCham下面建立工程及app方法 以下

建立完目录结构以下

实现简单的login登录功能

在urls.py里面添加url login和valide

写一个简单的login.html测试页面

 在views.py里面添加登录和验证的函数方法,方法名称要和urls.py里面对应

 

重启服务

输入正确的用户名密码登录测试

返回验证成功

 输入错误的用户名密码登录测试

 

若是是post请求,访问会出现403错误,能够把setting里面的csrf选项关闭,csrf要求身份验证,防止跨站攻击。

这里就用Django实现了简单的web登录验证功能,在真正使用的时候用户身份验证要结合数据库。
相关文章
相关标签/搜索