Django基本介绍及操作

WEB框架:

  MVC:Model(数据库)、View(模板文件)、Controller(业务处理)。

  MTV:Model(数据库)、Template(模板文件)、View(业务处理)。

 

Django是一个涵盖全面的重量级WEB框架,属于MTV。

 

Django的生命周期:

  1、简单的生命周期:用户发送请求——>通过URL对应关系进行匹配——>匹配成功通过视图函数(views)进行业务处理——>再返回给用户字符串。

  2、完整的生命周期:用户发送请求——>通过URL对应关系进行匹配——>经过中间件——>匹配成功通过视图函数(views)进行业务处理,通过一个HTML文件进行渲染——>再经过中间件——>再返回给用户字符串。

 

1.安装Django:

pip install django
#django后不加参数,表明安装最新版本的Django
#或者:pip install django==1.10.2

也可以通过编辑器进行安装,如:在pycharm里面的Project Interpreter里面选择进行添加。

 

2.创建Django工程:

django-admin startproject project_name

在project_name目录下会有一个project_name的同名文件夹,里面包含了配置信息,以及一个manage.py文件。

目录:

project_name                     #django工程名    
    —project_name
            __init__.py
            settings.py          #配置文件
            urls.py              #URL对应关系
            wsgi.py              #遵循WSGI规范
    manage.py                    #管理django程序

 

3.创建APP:

cd project_name 的目录

python manage.py startapp app_name

这时候project_name的目录中出现了app_name的文件夹。

app_name                      #app名称
        —migrations           #数据修改表结构的操作记录
        admin.py                #Django提供的后台管理
        apps.py                   #配置app
        models.py               #ORM,编写指定的表
        tests.py                   #单元测试
        views.py                  #视图函数,业务代码
View Code

 

 

4.注册APP:

在project_name的同名文件里的settings文件里添加app:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app_name',
]
View Code

 

5.配置静态文件:

在project_name的同名文件里的settings文件里添加static:

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

 

6.配置模板路径:

在project_name的同名文件里的settings文件里添加templates:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
         #添加DIRS的路径。
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
View Code

 

7.中间件的操作:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
View Code

注释django.middleware.csrf.CsrfViewMiddleware,如果需要用户人证,则需要在HTML的文件中加入{% csrf_token %}防止跨站请求伪造。

 

8.定义路由规则:

  第一种:直接在project_name中配置url.py文件  

from django.contrib import admin
from app_name import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index),
]
View Code

  第二种:路由分发,在project_name中配置url.py文件引入include模块,在app_name文件夹创建urls.py文件

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^app_name/', include('app_name.urls')),
]
View Code
from django.conf.urls import url
from blog import views

urlpatterns = [
    url(r'^$', views.index),
]
View Code

如果要自定义url链接名称,测通过正则表达式进行筛选。

 

9.定义视图函数:

在app_name的views.py文件里编写python文件:

from django.shortcuts import render, HttpResponse

def index(request):
    return HttpResponse('Ok')
#这种写法,不需要编写HTML文件,就直接给用户返回字符串响应

def index(request):
    return render(request, 'index.html')
#这种写法则通过HTML进行渲染,再返回给用户
View Code

 

10.编写HTML模板文件。

 

11.运行Django程序:

python manage.py runserver

或者自定义运行的端口与IP:

python manage.py runserver 127.0.0.1:8001

如果要更改IP,则需要配置ALLOWED_HOSTS = [],默认是本地localhost。

posted @ 2017-07-13 14:21  如缕清风  阅读(104)  评论(0)    收藏  举报