Django安装和基本使用

安装Django,指定国内pip源

pip3 install django==1.11.18 -i https://pypi.douban.com/simple/

Django官网下载页面

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

创建Django项目

下面的命令创建了一个名为"webapp"的Django 项目:

django-admin startproject webapp

 

项目创建完成,会在当前目录下生成一个目录

webapp/
├── manage.py  # 管理文件
└── mysite    # 项目目录
    ├── __init__.py
    ├── settings.py  # 配置
    ├── urls.py  # 路由 --> URL和函数的对应关系
    └── wsgi.py  # runserver命令就使用wsgiref模块做简单的web server

 

运行Django项目:

默认是8000端口

[root@yunwei-test webapp]# python3 manage.py runserver 0.0.0.0:9999

 

pycharm创建Django项目

pycharm会自动创建模板目录

Django框架简介 随笔 第1张

 

启动项目

Django框架简介 随笔 第2张

 Django框架简介 随笔 第3张

 

Django settings

Django框架简介 随笔 第4张
# 项目根目录
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# ip地址访问权限
ALLOWED_HOSTS = ['*']   

# app注册列表
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]


# 中间件
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',
]


# 模板文件(HTML文件)
TEMPLATES [{
 'DIRS': [os.path.join(BASE_DIR, 'templates')]  # HTML文件路径,pycharm会自动创建和添加。 命令行创建项目需要自己添加
}]


# 数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',        #  数据库类型
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),    # 要连接的库
    }
}


# 静态文件别名,以/static/开头
STATIC_URL = '/static/'
django配置文件

 

 

Django函数:

from django.shortcuts import HttpResponse, render, redirect

 

参数

必须接受一个参数 request

 

返回值

HttpResponse

内部传入一个字符串参数,返回给浏览器。

例如:

def index(request):
    # 业务逻辑代码
    return HttpResponse("OK")

render

除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

例如:

def index(request):
    # 业务逻辑代码
    return render(request, "index.html", {"name": "alex", "hobby": ["烫头", "泡吧"]})

redirect

接受一个URL参数,表示跳转到指定的URL。

例如:

def index(request):
    # 业务逻辑代码
    return redirect("/home/")
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄