Django入门总结

一、概述

Django用途、特点、开发优势

用途

  • 用于web服务器的开发

特点:

  • 前沿的MVT软件架构
  • 强大的视图模板支持
  • 完善的路由地址映射
  • 高效的ORM数据操作
  • 成熟的后台管理平台
  • 多线程多用户高效服务
  • 优秀的表单处理功能
  • 优雅的缓存数据操作
  • MORE..

开发优势

  • 自助管理后台,admin interface 是Django 里比较吸引眼球的一项 contrib,让你几乎不用写一行代码就拥有一个完整的后台管理界面。
  • 虽然 Django 自带的 ORM 不如 SQLAlchemy 强大,但也不弱。一般来说可以不怎么使用 SQL 语句,每条记录都是一个对象,而取对象的关联,易如反掌。
  • URL design,Django 的 url 模块设计得看似很复杂,都是使用正则表达式,但真正用到的都是很简单的正则,等你用到一定程度的时候,发现这块东西,做的很细致,地址的表达上,你可以随心所欲,那些优美的,简洁的,专业的地址,不管哪种,你都能表现出来。
  • Django 的 App 理念很好。App 可插拔,是不可多得的思想。不需要了,可以直接删除,对系统影响不大。
  • Django 的错误提示做的足够详细了,我有时喜欢上 Django 的出错页面了,那页面先不说有多详细,但光页面的美观上就是一种享受。有时,Django 的错误提示信息,让你马上就能知道在那个页面哪行代码出错了。

常规开发步骤和各部分功能

步骤

一、创建第一个项目

首先,请确认要创建web项目的文件夹,此处以个人博客为案例进行项目驱动式的学习

创建个人博客web项目开发文件夹
进入d:/resp_work工作文件夹

cd d:/resp_work  

通过如下命令创建一个名称为mysite的项目

django-admin startproject mysite 

此处缀以个部分文件的功能

  • 项目目录结构
    |– mysite/ # 项目文件夹
      |– mysite/ # 项目根模块
       |– init.py # 项目模块定义文件
       |– settings.py # Django项目配置文件
       |– urls.py # 网站路由配置文件
       |– wsgi.py # wsgi网关接口操作文件
      |– manager.py # 项目执行模块~命令行执行命令时使用,不要修改

运行测试项目
创建好的项目可以通过命令行执行运行
首先,进入项目文件夹
cd mysite/
执行命令,启动web服务器
python manage.py runserver

出现如下界面,说明web服务器启动成功
Django入门总结_第1张图片


默认情况下,项目启动之后后绑定8000端口,打开浏览器访问http://localhost:8000
出现如下界面,说明django启动成功!
Django入门总结_第2张图片

PS1:修改绑定端口
如果我们的8000端口已经被其他正在运行的项目占用,我们可以指定特定的端口启动项目,执行如下命令:
python manage.py port[指定的端口号]
如:python manage.py 9999 使用9999端口作为web服务器接受端口启动

PS2:目标主机拒绝连接服务
此时如果我们通过http://ip:8000进行访问的话,就会发现被禁止访问了

dial tcp 192.168.1.104:8000: connectex: No connection could be made because the target machine actively refused it.

PS3:使用指定的IP地址来启动web服务器
命令如下:
python manager.py runserver ip:port
如:python manage.py runserver 192.168.13.41:8080
使用192.168.13.41的ip地址以及8080端口启动web服务器

但是此时浏览器中通过输入地址:http://192.168.13.41:8080访问项目时,会发现提示禁止访问的提示:

DisallowedHost at / Invalid HTTP_HOST header:'192.168.1.104:9999'. You may need to add '192.168.1.104' to ALLOWED_HOSTS.

这是因为settings.py配置文件中,没有配置地址的原因
在settings.py中,可以找到ALLOWED_HOSTS配置[允许访问IP地址列表]
添加地址进去,重启服务器即可让我们的IP地址正常访问了

PS4:允许所有人访问
settings.py中有一个允许访问主机地址的配置ALLOWED_HOSTS
可以设置ALLOWED_HOSTS = ['*']配置允许所有地址访问
同时在启动项目时,通过绑定固定的IP地址+端口进行如下启动操作
python manage.py runserver 0.0.0.0:8000
此时,运行的项目可以在任意IP地址下都可以访问了!

二、创建第一个应用

PS1:项目和模块
Django项目就类似一个插线板一样,只是提供了基本的项目功能[如:供电]
我们的提供具体功能的用电器就是具体的模块应用了,只需要在插线板上插上具体的用电器~插线板供电系统就具备了改电器的功能
Django就是依据类似的原理进行开发的,所有的模块应用都是可插拔的,这样对于项目中功能的可扩展性和可伸缩性得到了非常大的提升!!!

首先
进入我们的项目文件夹,执行如下命令,常见个人博客模块
进入项目文件夹cd mysite/

创建第一个博客应用
django-admin startapp myblog

  • 应用目录结构
    创建好模块应用之后,模块应用自动生成多个python文件,分别用于处理不同的任务
    |–mysite/
      |– mysite/
      |– manage.py
      |– myblog/ # 模块应用目录
       |– migrations/ # 数据库数据持久化配置
       |– admin.py # 后台管理操作文件
       |– apps.py # 应用名称配置文件
       |– models.py # 应用模型类定义文件
       |– tests.py # 应用功能测试文件
       |– views.py # 应用视图文件
    最后一步:将模块应用插入到Django根模块中
    类似于将用电器插入到插线板上一样,将创建好的应用,要配置到根模块中
    打开mysite/mysite/settings.py配置文件,操作如下:

已经安装的app模块应用配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myblog',
]

此时,模块应用创建完毕,并且正常添加到了Django项目中了。

创建第一个项目根模块视图

  • 创建视图处理函数
    在mysite/mysite/目录下,创建视图处理文件views.p
    编辑视图处理函数如下:

  • 引入需要的模块
    from django.http import HttpResponse

  • 定义视图处理函数

def index(request):
    return HttpResponse("

Hello Django!

"
)
  • 添加路由配置
    打开mysite/mysite/urls.py路由配置文件,编辑如下代码
from django.conf.urls import url
from django.contrib import admin

from . import views

urlpatterns = [
  url(r'^admin', admin.site.urls),
  url(r'^$', views.index, name='index'),
]

运行测试
命令行启动web服务器,再次打开浏览器访问http://localhost:8000
此时访问到的页面不再是默认的It work页面,而是我们定义的处理结果页面了
这里写图片描述

你可能感兴趣的:(Django)