Django

Posted python1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django相关的知识,希望对你有一定的参考价值。

一、Django基础

1、安装Django

 

2、创建Django项目

1)、命令行中创建
django-admin startproject 项目名
2)、Pycharm中创建

 

3、运行Django项目(启动服务器)

1)、命令行中运行
python mange.py runserver 127.0.0.1:端口号
2)、Pycharm中运行

 

4、Django项目的目录结构

mysite:项目的容器。
manage.py: 一个实用的命令行工具,可以各种方式与该 Django 项目进行交互。
mysite/__init__.py:一个空文件,告诉 Python 该目录是一个 Python 包。
mysite/settings.py:该 Django 项目的设置/配置。
mysite/urls.py:Django项目的URL声明,URL和函数的对应关系,一份由 Django 驱动的网站"目录"
mysite/wsgi.py:一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

 

WSGI相关知识

WSGI(Web Server Gateway Interface):Web服务器网关接口
WSGI位于web应用程序与web服务器之间,是作为Web服务器与Web应用程序或应用框架之间的一种低级别的接口,以提升可移植Web应用开发的共同点。

WSGI入口处提供一个start_respone用于回调(callback),入口会连接到出口的一个函数,并传递environ字典和start_respone作为参数;而出口处的函数先是调用start_respone并传递status和header,然后再返回content。

Python代码实现WSGI:
def application(environ, start_respone):
status = ‘200 OK‘
response_header = [(‘Content-type‘, ‘text/plain‘)]
start_response(status, response_headers)
return [‘Hello‘]

 

WSGI: Python 的 HTTP 接口协议
CGI: 通用网关接口,古老的动态 HTTP 服务方式,极其低效、容易出漏洞。Perl 盛行的时代很常用。
Tornado: HTTP 服务器、WSGI 框架
FastCGI: php 等的接口协议。PHP 也是唯一一个把 FastCGI 实现得像 CGI 的 FastCGI 实现(HTTP 头可通过环境变量访问)
uwsgi: 它是一个软件。是 WSGI、PSGI 等等的容器。也就是它实现了这些协议。同样实现了 WSGI 的还有 gunicorn 之类的。
nginx: 可以作为代理,把 HTTP 传给 Tornado。也可以作为网关,把 HTTP 转成 FastCGI、uwsgi 协议传给后边的程序。

WSGI、CGI等标准就是让WEB服务器知道找谁处理请求;让应用程序知道请求是什么,响应返回给谁。

 

6、静态文件配置(存放CSS、js文件)

STATIC_URL = ‘/static/‘      # html中使用的静态文件夹前缀,相当于静态文件的别名
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),      # 静态文件存放位置
]

 

二、Django基础必备三件套

1)、HttpResponse
内部传入一个字符串参数,返回给浏览器

from django.shortcuts import HttpResponse
def 页面名(request):
    业务逻辑代码
    return HttpResponse(字符串)

 

2)、render
from django.shortcuts import render
def 页面名(request):
    业务逻辑代码
    return render(request, ‘html文件‘)

 
































以上是关于Django的主要内容,如果未能解决你的问题,请参考以下文章

DjangoDjango 文件下载最佳实践

DjangoDjango模块创建应用程序

DjangoDjango 如何支持 分组查询统计?

DjangoDjango Debug Toolbar调试工具配置

DjangoDjango中的模糊查询以及Q对象的简单使用

djangodjango-redis的使用方法