django 初始化 介绍 生命周期
安装好django,配置模板,静态文件
- # 创建Django工程
- django-admin startproject 【工程名称】
- mysite
- - mysite # 对整个程序进行配置
- - init
- - settings # 配置文件
- - url # URL对应关系
- - wsgi # 遵循WSIG规范,uwsgi + nginx
- - manage.py # 管理Django程序:
- - python manage.py
- - python manage.py startapp xx
- - python manage.py makemigrations
- - python manage.py migrate
- # 运行Django功能
- python manage.py runserver 127.0.0.1:8001
- chouti
- - chouti
- - 配置
- - 主站 app
- - 后台管理 app
- # 创建app
- python manage.py startapp cmdb
- python manage.py startapp openstack
- python manage.py startapp xxoo....
- app:
- migrations 数据修改表结构
- admin Django为我们提供的后台管理
- apps 配置当前app
- models ORM,写指定的类 通过命令可以创建数据库结构
- tests 单元测试
- views 业务代码
- 1、配置模板的路径
- TEMPLATES = [
- {
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [os.path.join(BASE_DIR, 'templates')],
- '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',
- ],
- },
- },
- ]
- 2、配置静态目录
- static
- STATICFILES_DIRS = (
- os.path.join(BASE_DIR, 'static'),
- )
- <link rel="stylesheet" href="/static/commons.css" />
- 内容整理
- 1. 创建Django工程
- django-admin startproject 工程名
- 2. 创建APP
- cd 工程名
- python manage.py startapp cmdb
- 3、静态文件
- project.settings.py
- STATICFILES_DIRS = (
- os.path.join(BASE_DIR, "static"),
- )
- 4、模板路径
- TEMPLATES中加 [os.path.join(BASE_DIR,'templates'),]
- 5、settings中
- middlerware
- # 注释 csrf
- 6、定义路由规则
- url.py
- "login" --> 函数名
- 7、定义视图函数
- app下views.py
- def func(request):
- # request.method GET / POST
- # http://127.0.0.1:8009/home?nid=123&name=alex
- # request.GET.get('',None) # 获取请求发来的而数据
- # request.POST.get('',None)
- # return HttpResponse("字符串")
- # return render(request, "HTML模板的路径")
- # return redirect('/只能填URL')
- 8、模板渲染
- 特殊的模板语言
- -- {{ 变量名 }}
- def func(request):
- return render(request, "index.html", {'current_user': "alex"})
- index.html
- <html>
- ..
- <body>
- <div>{{current_user}}</div>
- </body>
- </html>
- ====> 最后生成的字符串
- <html>
- ..
- <body>
- <div>alex</div>
- </body>
- </html>
- -- For循环
- def func(request):
- return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']})
- index.html
- <html>
- ..
- <body>
- <div>{{current_user}}</div>
- <ul>
- {% for row in user_list %}
- {% if row == "alex" %}
- <li>{{ row }}</li>
- {% endif %}
- {% endfor %}
- </ul>
- </body>
- </html>
- #####索引#################
- def func(request):
- return render(request, "index.html", {
- 'current_user': "alex",
- 'user_list': ['alex','eric'],
- 'user_dict': {'k1': 'v1', 'k2': 'v2'}})
- index.html
- <html>
- ..
- <body>
- <div>{{current_user}}</div>
- <a> {{ user_list.1 }} </a>
- <a> {{ user_dict.k1 }} </a>
- <a> {{ user_dict.k2 }} </a>
- </body>
- </html>
- ###### 条件
- def func(request):
- return render(request, "index.html", {
- 'current_user': "alex",
- "age": 18,
- 'user_list': ['alex','eric'],
- 'user_dict': {'k1': 'v1', 'k2': 'v2'}})
- index.html
- <html>
- ..
- <body>
- <div>{{current_user}}</div>
- <a> {{ user_list.1 }} </a>
- <a> {{ user_dict.k1 }} </a>
- <a> {{ user_dict.k2 }} </a>
- {% if age %}
- <a>有年龄</a>
- {% if age > 16 %}
- <a>老男人</a>
- {% else %}
- <a>小鲜肉</a>
- {% endif %}
- {% else %}
- <a>无年龄</a>
- {% endif %}
- </body>
- </html>
django 初始化 介绍 生命周期的更多相关文章
- Django的请求生命周期
Django的请求生命周期 请求生命周期 请求生命周期是指当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情. 1.客户端发送Http请求 2 .服务器接收,根据请求 ...
- Django 框架 django的请求生命周期
概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串,同时http请求是无状态的,可以通过session和cookie来辅助. 浏览器通过ip和端口及路由方式访问服务端. 在Djang ...
- django请求的生命周期
1. 概述 首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户 ...
- DRF框架(一)——restful接口规范、基于规范下使用原生django接口查询和增加、原生Django CBV请求生命周期源码分析、drf请求生命周期源码分析、请求模块request、渲染模块render
DRF框架 全称:django-rest framework 知识点 1.接口:什么是接口.restful接口规范 2.CBV生命周期源码 - 基于restful规范下的CBV接口 3.请求组件 ...
- rest_framework框架下的Django声明和生命周期
rest_framework框架下的Django声明和生命周期 Django声明周期(request) 客户端发起请求 请求经过wsgi wsgi: 是一个协议----web服务网关接口,即在web服 ...
- Servlet学习笔记(一)之Servlet原理、初始化、生命周期、结构体系
Servlet是用java语言编写的应用到Web服务器端的扩展技术,与java对象的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持(以下会介绍原因, ...
- Spring 基础知识(二)Spring的bean初始化与生命周期,以及注入
Spring bean 初始化: 参考博文: https://www.cnblogs.com/luyanliang/p/5567164.html 1. 加载xml 文件. 扫描注解 ,形成bean定义 ...
- Django框架请求生命周期
先看一张图吧! 1.请求生命周期 - wsgi, 他就是socket服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架(Flask.Django) - 中间件,帮助我们对请求进行校 ...
- Django的请求生命周期与中间件中的5中方法
请求生命周期: 客户端——>WSGI——> 中间件——>路由匹配——>视图函数——>WSGI——>客户端 中间件: 在全局层明处理请求和响应的 form djang ...
随机推荐
- 2018最新APP Android UI设计规范
设计稿尺寸:从目前市场主流设备尺寸来看,我们要用 1080 x 1920 PX 来做安卓设计稿尺寸. 以1080x1920px作为设计稿标准尺寸的原由: 从中间尺寸向上和向下适配的时候界面调整的幅度 ...
- HDU1166-敌兵布阵 (线段树)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1166 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) ...
- jupyter notebook远程服务器终端连接
如下图
- HDU - 5157 :Harry and magic string (回文树,求多少对不相交的回文串)
Sample Input aca aaaa Sample Output 3 15 题意: 多组输入,每次给定字符串S(|S|<1e5),求多少对不相交的回文串. 思路:可以用回文树求出以每个位置 ...
- Spring mvc:配置不拦截指定的路径
<!-- 访问拦截 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**/ ...
- Codeforces 766C:Mahmoud and a Message(DP)
题目链接:http://codeforces.com/problemset/problem/766/C 题意 有一个长度为n的字符串,第二行有26个数字,位置1~26对应为a~z的字母,数值表示该字母 ...
- 如何解决VMware 12 安装Ubuntu 16.04时无网络连接问题
刚安装玩Ubuntu,打开后上网没有网络连接 ,点击右上角的数据连接,显示已经启动联网,但是用火狐还是无法上网: 解决方法如下: 先查看虚拟机的网络适配器:点击虚拟机左上角的编辑,里面有个网络适配器 ...
- java实现各种排序算法
java实现各种排序算法 import java.util.Arrays; public class SomeSort { public static void main(String[] args) ...
- Python 面向对象(创建类和对象,面向对象的三大特性是指:封装、继承和多态,多态性)
概念: ...
- 深入学习Motan系列(二)——服务发布
闯关经验: 袋鼠走过了第一关,顺利搭建出了Demo,信心爆棚.不过之后,心想怎么去研究这个框架呢.查了一下,官方文档,好像没什么东西可以研究啊.后来,又搜了搜博客,因为这是微博的框架嘛,所以搜索时用百 ...