当前位置: 移动技术网 > IT编程>网页制作>CSS > 使用静态模板实现一个Django的网站

使用静态模板实现一个Django的网站

2019年06月02日  | 移动技术网IT编程  | 我要评论

新客网,申请电子邮件地址,网点查询

1、概述

在理解了上一篇django中mtv模式的情况下,本篇使用静态模板(first_web.html)代替html_strimg,模板中使用前端样式框架semantic.css。

2、新建静态文件templates和static

在firstapp文件夹下,新建static和templates文件,其中templates存放静态网页模板,static中存放网页模板的图片、样式

\

3、在setting.py中设置静态网页模板的路径

\

templates = [
    {
        'backend': 'django.template.backends.django.djangotemplates',
        'dirs': [os.path.join(base_dir, 'templates').replace('\\', '/')],
        'app_dirs': true,
        'options': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

说明:路径中模板文件的名称与新建的模板文件名称对应。

4、在model.py中创建数据表article,存放文章的标题和内容

\

说明:article数据表中有两个字段,headline标题和content内容。其中方法__str__(self)是为了能在后台看到存放的名称,见下面后台操作。

5、创建后台超级管理员账号,输入文章article数据

django有 一个很方便的操作就是有自己的后台,可以在后台中可视化的操作所需要的数据。要进入后台,首先创建一个超级管理员账号,方法如下:

1)创建管理员账号

打开终端,输入命令:python manage.py createsuperuser

\

说明:按照提示,先输入管理员账号,然后输入密码(邮件地址可以不写).

2)运行服务

打开终端,输入命令:python manage.py runserver

\

3)使用输入后台网址,打开后台

打开浏览器,输入网址:https://127.0.0.1:8000/admin,如下

\

说明:输入刚创建好的账号,密码即可登入后台。

4)在admin.py中注册数据

在model.py中建立的数据article,只有在admin.py中进行注册,才能在后台进行操作。,注册方式如下:

\

5)在后台中添加aticle中的数据

打开后台中的article对象,然后添加数据标题headline,内容content:

\

6、在view.py中对数据进行操作

from django.shortcuts import render, httpresponse
from firstapp.models import people, article
from django.template import context, template

# create your views here.
def index(request):
    context = {}
    article_list = article.objects.all()
    context['article_list'] = article_list
    return render(request, 'first_web.html', context)
解析:

a、引入article的数据,然后使用article.objects.all()获取所有数据;

b、使用context上下文,进行数据与静态与网页模板关联;

c、使用render()方法,返回网页的视图。其中第一个参数为request请求,第二个参数为静态网页模板,第三个参数为上下文。

7、对静态网页模板first_web.html进行修改

django的模板语言有模板标签、模板变量和模板过滤。下面使用模板语言,用article数据库中的数据替换静态模板中的文章的数据。主要内容包括:

1)使用模板标签

<!doctype html>  
<html>  
{% load staticfiles %}  
    <head>  
        <meta charset="utf-8">  
        <title>first web</title>  
        <link rel="stylesheet" href="{% static 'css/semantic.css' %}"  media="screen" title="no title" charset="utf-8"> 

解析:

a、在首部使用模板标签{% load staticfiles %}来说明一下内容,将载入静态文件;

b、使用{% static 'css/semantic.css' %}来指明css框架文件的存放位置;

c、若html文件中,出现需要引用静态文件的地方,都需要用static来替换。

2)使用模板变量和模板过滤

<p class="ui  vertical segment">  
          {% for article in article_list  %}  
            <p class="ui container vertical segment">  
                <a href="#">  
                    <h1 class="ui header">  
                        {{ article.headline }}  
                    </h1>  
                </a>  
                <i class="icon grey small unhide">10,000</i>  
                <p>  
                    {{ article.content|truncatewords:100 }}  
                    <a href="#">  
                        <i class="angle tiny double grey right icon">readmore</i>  
                    </a>  
                </p>  
                <p class="ui mini  tag label">  
                    life  
                </p>  
            </p>  
          {% endfor %}  
</p>  

解析:

a、使用模板标签for循环来读取文章数据,并使用模板变量{{ }}格式来显示数据;

b、{{模板变量|模板过滤}}格式为使用模板变量加过滤,如上{{ article.content|truncatewords:100 }},文章内容显示不超过100个字符。

8、修改url.py总网页的访问网址

\

9、网页效果显示

\

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网