测开之路四十七:Django之请求静态资源与模板
框架必要的配置

import sys
from django.conf.urls import url
from django.conf import settings
from django.http import HttpResponse
from django.core.management import execute_from_command_line # 设置框架配置
settings.configure(
DEBUG= True, # 和flask的debug一样
SECRET_KEY= 'aaa', # 用于加密的字符串
ROOT_URLCONF=__name__, # 此配置为在当前文件里面找url映射的配置
MIDDLEWARE_CLASSES=(
'django.middleware.commom.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
)
实现访问hello/内容/,返回内容

# 实现访问返回访问请求中的参数
def hello(request, user):
return HttpResponse(user) # 通过正则匹配url,做视图映射
urlpatterns = (
url( r'^hello/(?P<user>\w+)/$', hello),
url(r'^$', index)
)


django的JsonResponse处理返回信息

from django.http import JsonResponse
def test(request):
print(dir(request))
data = {
'path': request.path,
'method': request.method,
'scheme': request.scheme,
'host': request.get_host(),
'port': request.get_port(),
'cookies': request.COOKIES,
'get': request.GET,
'post': request.POST,
}
return JsonResponse(data) # 通过正则匹配url,做视图映射
urlpatterns = (
url( r'^test/$', test),
url( r'^hello/(?P<user>\w+)/$', hello),
url(r'^$', index)
)
请求


静态文件
项目结构

实现访问http://127.0.0.1:8888/hello/用户名/,输出html里的某些内容
html

<html>
<head>
<link rel="stylesheet" href="/static/hello.css">
<title>django with jinja</title>
</head>
<body>
<h2>这是测试</h2>
<p>我是用户:{{ user }}</p>
{% for h in hobbit %}
<p>爱好是:{{ h }}</p>
{% endfor %}
</body>
</html>
css

h2 {
background-color: red;
}
主程序,需要加入一些模板的配置



import os
import sys
from django.shortcuts import render
from django.conf.urls import url
from django.conf import settings
from django.core.management import execute_from_command_line BASE_DIR = os.path.dirname(__file__) # 定义当前工程目录为basedir # 设置框架配置
settings.configure(
DEBUG=True,
ALLOWED_HOSTS=['*'],
SECRET_KEY='aaa', # 用于加密的字符串
ROOT_URLCONF=__name__, # 此配置为在当前文件里面找url映射的配置
MIDDLEWARE_CLASSES=(
'django.middleware.commom.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
),
STATIC_URL='/static/', # 定义静态文件的存放目录,和flask一致
STATICFILES_DIRS=(os.path.join(BASE_DIR, 'static'),), # 静态文件目录,指向BASE_DIR/static(括号里的逗号不能省)
INSTALLED_APPS=('django.contrib.staticfiles',), # Django使用静态文件需要安装即在配置中录入此信息(括号里的逗号不能省)
# 模板的配置
TEMPLATES=[{
# 'BACKEND': 'django.template.backends.django.DjangoTemplates', # Django自带的模板引擎
'BACKEND': 'django.template.backends.jinja2.Jinja2', # Jinja2的模板引擎
'APP_DIRS': True, # APP_DIRS为True则默认app下的templates目录,否则使用下一行DIRS声明的目录
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'OPTIONS': {}}]
) # 实现访问返回访问请求中的参数
def hello(request, user):
# return HttpResponse(user)
context = {
'user': user,
'hobbit': ['看书', '写代码']
}
return render(request, 'hello.html', context) # 通过正则匹配url,做视图映射
urlpatterns = (
# url( r'^test/$', test),
url(r'^hello/(?P<user>\w+)/$', hello),
# url(r'^$', index)
)
访问

测开之路四十七:Django之请求静态资源与模板的更多相关文章
- 测开之路四十三:ajax请求
ajax固定套路 function http(url, data, method, success, fail) { data = method == 'GET' ? data : JSON.stri ...
- 测开之路四十八:Django之重定向与cookie
基础配置与上一篇一致 404错误 定义一个error页面 <!DOCTYPE html><html lang="en"><head> <m ...
- 测开之路四十九:用Django实现扑克牌游戏
用Django实现和之前flask一样的扑克牌游戏 项目结构 html <!DOCTYPE html><html lang="en"><head> ...
- 测开之路四十五:Django之最小程序
安装Django库 Django最小程序 import sysfrom django.conf.urls import urlfrom django.conf import settingsfrom ...
- 测开之路七十七:性能测试蓝图之js
//定义全局的editor = nullvar editor = null; //ace_editor的初始化函数function ace_editor() { var editor = ace.ed ...
- 测开之路九十七:js的引用方式
第一种:引用外部js文件 准备一个js文件 <!-- 引用外部的js --><script src="../js/js01.js"></script& ...
- 测开之路八十七:HTML之a标签的用法
初始化的HTML结构为,只需要在body里面加网页的标签和要显示的内容即可 <!DOCTYPE html><html lang="en"><head& ...
- 测开之路七十七:shell之if、case、for、while
选择语句(if语句) 大于:-gt判断目录是否存在:-d if [ 判断条件 ]; then statement1 Statement2elif [ 判断条件 ]; then statement1 S ...
- 测开之路五十七:实现runner和测试报告
准备测试用例 from fox.case import Casefrom src import Calculator class TestCalculator(Case): def setUp(sel ...
随机推荐
- python 可变类型和不可变类型
1. 什么是不可变类型变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间.不可变类型: 数字(int,long,float) 布尔(bool) 字符串(string) 元 ...
- spring-第二篇ApplicationContext国际化及事件机制
1.ApplicationContext接口获取spring容器 ApplicationContext是BeanFactory接口的子接口,BeanFactory的常用实现类是Default ...
- Java_1.Java符号体系
Java符号包含五类:标识符.关键字.常量及字面量.运算符.分隔符 1.标识符 定义:用于标明程序中元素的名字,如类.方法和变量 命名规则: ·由字母.数字.下划线(_)和美元符号($)构成的字母序列 ...
- php页面出现空白解决方法
查询php程序使用内存情况 $size = memory_get_usage(); file_put_contents("d:/data.php", var_export($siz ...
- hdu5943 Kingdom of Obsession 二分图+打表找规律
题目传送门 Kingdom of Obsession Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- 项目使用Kafka镜像报错处理记录:this server does not host this topic-partition
背景 项目使用docker swarm部署 服务之间使用消息中间件 kafka 通信 Kafka 使用 star 3.7k 的 wurstmeister/kafka:2.12-2.2.1 镜像 Zoo ...
- MySQL的数据类型:文本、数字、日期/时间
在MySQL中,有三种主要的类型:文本.数字和日期/时间类型. 文本类型(text):数据类型 描述 CHAR(size) 保存固定长度 ...
- mySql | Error: ER_DATA_TOO_LONG: Data too long for column 'base_info' at row 1
问题描述:执行insert语句报以下错误 原因:数据库表,该字段在设计的时候长度过小,新插入的数据过长,会提示以上错误! 解决办法:修改表中该字段的长度限定.
- linux性能分析工具free
- MySQL --12 备份的分类
目录 物理备份(Xtrabackup) 1.全量备份 2.增量备份及恢复 3.差异备份及恢复 4.实战:企业级增量恢复实战 物理备份(Xtrabackup) Xtrabackup安装 #下载epel源 ...