Django初见
2018-12-04 本文已影响5人
芝麻酱的简书
Django web框架
屏幕快照 2018-12-04 14.10.53.png
在python环境下
安装Django:pip install django
在终端:
使用Django创建项目:django-admin startproject 项目名称
项目内创建应用:python manager.py startapp 应用名称
项目运行:python manage.py runserver 8080
8080为端口
添加文件
方式1
可以新建一个package:
屏幕快照 2018-12-04 14.10.53.png
需要在setting文件配置路径:
STATIC_URL = '/static/' # 别名
STATICFILES_DIRS=(
os.path.join(BASE_DIR,"StaticFile"),
)
但是使用的时候需要使用系统提供的别名:
<div>hellow hahaahahahahha {{time}}</div>
<!--引入文件使用别名 不用我们定义的绝对路径名字StaticFile-->
<script src="/static/jquery-3.3.1.js"></script>
<script>
$("div").css("color","red")
</script>
方式2
同样需要在setting文件配置路径,但是在html中使用的时候不同
在head标签中:
<head>
{% load staticfiles %}
</head>
引用的时候:
<script src="{% static 'jquery-3.3.1.js' %}"></script>
Django路由系统
urlpatterns = [
url(正则表达式,views视图函数,参数,别名),
]
参数说明:
- 一个正则表达式字符串
- 一个可调用对象,通常为一个视图函数或一个指定函数路径的字符串
- 可选的要传递给视图函数的默认参数(字典形式)
- 一个可选的name参数
Django Views视图函数
两个重要对象:HttpRequest和HttpResponse
def showYear(request):
return HttpResponse('hello world')
def showTime(req):
time11 = time.ctime()
return render(req, "1111.html", {"time":time11})
常用拓展方法:
- 页面渲染render
- 页面跳转redirect
redirect("路径")
- locals() 可以将函数中的变量直接传给模板使用
Django Template模板
模板组成:HTML代码 + 逻辑控制代码
变量过滤器filter的使用:
语法格式:{{obj | filter: param}}
- add :给变量加上相应的值
- addslashes: 给变量中的引号钱加上斜线
- capfirst: 首字母大写
- cut: 从字符串中移除指定的字符
- date :格式化日期字符串
- default : 如果值是false,就替换成设置的默认值,否则就用本来的值
- default_if_none: 如果值是None,就替换成设置的默认值,否则就用本来的值
tag的使用
语法:{% tags %}
- {% if %}: 标签计算一个变量值,如果是true,即他存在、不为空并且不是false的boolean值,系统则会显示{% if %} 和 {% end if %}之间所有的内容
- {% for %}
- {% csrf_token %}
- {% url %}
- {% with %}
- {% load %} 加载标签库
系统不支持中断循环,也不支持continue语句,{% for %}标签内置了一个forloop模板变量: - forloop.counter
- forloop.counter0
- forloop.revcounter
- forloop.recounter0
- forloop.first
{% for name in L%}
{% if forloop.first %}
<li class="first">
{% else %}
<li>
{% endif %}
{{ name }}
</li>
{% empty %}
{% endfor %}
自定义fitler和simple_tag
- 在app中创建templatetags模块
2.创建任意.py文件,如my_tags.py
3.在使用自定义simple_tag和fitler的html文件中导入之前创建的文件 {% load my_tags%} - 使用simple_tag和filter
5.在settings中的INSTALLED_APPS配置当前爱看
模板继承
{% block %} 和 {% content %}