Django上下文处理器

1创建 (如frontend目录下)category_processors文件:


def categories(request):
    from backend.models import Category
    category_list = Category.objects.all()
    return {'category_list':category_list}

这里,必须返回一个字典。

2,配置settings.py

'OPTIONS': {
            'context_processors': [
                'frontend.category_processors.categories',
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.media',
            ],
            'builtins':[
                'django.templatetags.static'

3,header.html使用

<header>
    <nav>
        <div class="container">
            <div class="logo"><a href="/">a>div>
            <ul class="nav-menu clearfix">
                <li><a href="/"   class="active" >全部分类a>li>
                {% for item in category_list %}
                <li><a href="/index/{{ item.pk }}/" >{{ item.catename }}a>li>
                {% endfor %}
            ul>
            <div class="shortcut clearfix">
                <a href="/register/" class="a">注册a>
                <a href="/login/" class="a">登录a>
            div>
        div>
    nav>
header>

你可能感兴趣的:(django,数据库)