Django安装及创建工程

Django MTV模型介绍

Django的MTV分别代表:

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

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

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

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

Django基本命令

下载安装Django,到python安装目录下面的Scripts目录
C:>cd C:UserslenovoAppDataLocalProgramsPythonPython36Scripts
C:UserslenovoAppDataLocalProgramsPythonPython36Scripts>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登陆验证功能,在真正使用的时候用户身份验证要结合数据库。
原文地址:https://www.cnblogs.com/xiewenming/p/7766098.html