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:

html>
lang="en">

    charset="UTF-8">
    </span>{% <span style="color:#e8bf6a;">block </span><span style="color:#bababa;">title </span>%}{% <span style="color:#e8bf6a;">endblock </span>%}<span style="color:#e8bf6a;">
    rel="stylesheet" href="/static/commons.css"/>
    
    {% block css %}{% endblock %}


class="pg-header">管理
{% block content %}{% endblock %} {% block js %}{% endblock %}


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

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

{% extends 'master.html' %}

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

{% block content %}
    

用户管理

    {% for i in u %}
  • {{ i }}
  • {% endfor %}
{% endblock %} {% block css %} {% endblock %} {% block js %} {% endblock %}



7.模板导入

写一个示例tag.html:

type="text"/> type="submit"/>

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

{% include "tag.html" %}

你可能感兴趣的:(Django框架)