Django框架学习笔记(18.一些简易的知识补充)

1.URL对应可以有参数,例如:

url(r'^index/', views.index, {'name': 'root'}),

然后在views.py中写的时候记得加上一个名为name的参数:

def index(request, name):
    print(name)
    return HttpResponse("OK")

这样就会打印出root


2.命名空间:

project下的ursl.py新加入:

url(r'^a/', include('app01.urls', namespace="author")),

app下的urls.py:

from django.conf.urls import url, include
from app01 import views
app_name = 'app01'
urlpatterns = [
    url(r'^index/', views.index, name="index"),
]

app的views.py:

def index(request):
    v = reverse('author:index')
    print(v)
    return HttpResponse("OK")

#结果:   /a/index/



3.ajax的跳转不能用redirect,应当用location.href = "URL"


4.models创建有验证功能的字段时候,比如EmailField(),在admin里面可以成功验证,不过如果用了create()或者updata()方法时候,这里的验证功能就会失效,还可以加上验证功能,后边讲。


5.views.py获取用户请求以及请求头:

def index(request):
    print(request.environ)    #封装了所有用户请求信息
    print(request.environ['HTTP_USER_AGENT']) #获取请求头



6.模板继承(很常用):

当多个模板有很多部分重复的时候:

可以写一个模板:

master.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
    <link rel="stylesheet" href="/static/commons.css"/>
    <style>
        .pg-header{
            height: 48px;
            background-color: seashell;
            color: red;
        }
    </style>
    {% block css %}{% endblock %}
</head>
<body>
<div class="pg-header">管理</div>

{% block content %}{% endblock %}

<script src="/static/jquery.js"></script>
{% block js %}{% endblock %}
</body>
</html>


然后在需要用它的html中这样写即可:

在第一行写模板名称,然后相应的写入即可。

{% extends 'master.html' %}

{% block title %}用户管理{% endblock %}

{% block content %}
    <h1>用户管理</h1>
    <ul>
        {% for i in u %}
            <li>{{ i }}</li>
        {% endfor %}
    </ul>
{% endblock %}

{% block css %}
<style></style>
{% endblock %}

{% block js %}
<script></script>
{% endblock %}



7.模板导入

写一个示例tag.html:

<form>
    <input type="text"/>
    <input type="submit"/>
</form>

当我在写html需要用到它的时候:

{% include "tag.html" %}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值