zoukankan      html  css  js  c++  java
  • 测开之路四十七: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)
    )

    访问

    
    
  • 相关阅读:
    Google Data Highlighter
    java里的单例实现
    zuul实现的限流
    vscode解决nuget插件不能使用的问题
    springboot~yml里的自定义配置~续
    Cocos2d—X游戏开发之CCToggle(菜单标签切换)CCControlSwitch(开关切换)
    Flash Builder 4的快捷方式和调试技巧
    无刷电机之无感方案控制难点解析
    UVa10815
    [置顶] 学生管理系统验收出现的问题及解决方法
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/10941205.html
Copyright © 2011-2022 走看看