1

Django应该算是最流行的web应用框架了吧,而语义化的CSS框架semantic-ui我觉得非常好用,使用这个组合做一个blog站点,关于Django的详细介绍以及MTV模式的相关有优点,请翻阅官方文档,很详细,我这边直接开始应用^_^

一、建立Django工程

1.建立项目,创建应用

D:\pythonproject\djangoproject>django-admin startproject blogsite

D:\pythonproject\djangoproject>cd blogsite

D:\pythonproject\djangoproject\blogsite>python manage.py startapp blog

D:\pythonproject\djangoproject\blogsite>

clipboard.png

2.在blogsite/setting.py文件中添加应用,并设置templates路径

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]

####
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        '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',
            ],
        },
    },
]

顺便修改下语言与时区

# 汉语
LANGUAGE_CODE = 'zh-hans'
# 上海时区
TIME_ZONE = 'Asia/Shanghai'

在主目录(manage.py所在文件夹)建立templates模板文件夹,按应用区分模板

在blog目录下创建static存放css与js文件,最终目录:

clipboard.png

目录结构和基本的设置搞定了

2.创建模板文件

先创建主页的文件,我们的最终目标大概是这样

clipboard.png
(比较渣画的。。。)
将下载的semantic-ui文件放入对应的static文件夹

clipboard.png

在templates/blog下创建index.html文件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    {% load staticfiles %}
    <title>Blogsite</title>
    <!-- 使用本地的样式与js文件 -->
    <link rel="stylesheet" href="{% static 'css/semantic.min.css' %}">
    <script type="text/javascript" src="{% static 'js/semantic.min.js'%}"></script>
    <!-- 也可以直接使用CDN链接 -->
    <!--
    <link href="https://cdn.bootcss.com/semantic-ui/2.2.13/semantic.min.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/semantic-ui/2.2.13/semantic.min.js"></script>
    -->
  </head>
  <body>
    <!-- 目录结构 -->
    <div class="ui container">
      <div class="ui secondary pointing menu">
        <div class="active item">
          <a href="#">主页</a>
        </div>
        <div class=" item">
          <a href="#">热门</a>
        </div>
        <div class=" item">
          <a href="#">我的</a>
        </div>
        <div class="right menu">
          <div class="item">
            <div class="ui icon input">
              <input type="text" placeholder="Search...">
              <i class="search link icon"></i>
            </div>
          </div>
          <div class="item">
            <a href="/login" class="ui button">登录</a>
          </div>

        </div>
      </div>
    </div>

    <!-- 隐藏分隔条 -->
    <div class="ui hidden divider">

    </div>

    <!-- 正文 -->
    <div class="ui container segment">
      <h3 class="ui header">花木兰</h3>
      <a href="/author-link">作者:钱惟演</a>
      <div class="ui divider"></div>
      <p>城上风光莺语乱,城下烟波春拍岸。绿杨芳草几时休?泪眼愁肠先已断。
        情怀渐觉成衰晚,鸾镜朱颜惊暗换。昔年多病厌芳尊,今日芳尊惟恐浅。
      </p>
    </div>
    <div class="ui container segment">
      <h3 class="ui header">花木兰</h3>
      <a href="/author-link">作者:钱惟演</a>
      <div class="ui divider"></div>
      <p>城上风光莺语乱,城下烟波春拍岸。绿杨芳草几时休?泪眼愁肠先已断。
        情怀渐觉成衰晚,鸾镜朱颜惊暗换。昔年多病厌芳尊,今日芳尊惟恐浅。
      </p>
    </div>
    <div class="ui container segment">
      <h3 class="ui header">花木兰</h3>
      <a href="/author-link">作者:钱惟演</a>
      <div class="ui divider"></div>
      <p>城上风光莺语乱,城下烟波春拍岸。绿杨芳草几时休?泪眼愁肠先已断。
        情怀渐觉成衰晚,鸾镜朱颜惊暗换。昔年多病厌芳尊,今日芳尊惟恐浅。
      </p>
    </div>
    <div class="ui container segment">
      <h3 class="ui header">花木兰</h3>
      <a href="/author-link">作者:钱惟演</a>
      <div class="ui divider"></div>
      <p>城上风光莺语乱,城下烟波春拍岸。绿杨芳草几时休?泪眼愁肠先已断。
        情怀渐觉成衰晚,鸾镜朱颜惊暗换。昔年多病厌芳尊,今日芳尊惟恐浅。
      </p>
    </div>
  </body>
</html>

在blog/views.py中添加主页函数:

from django.shortcuts import render

# Create your views here.
def index(request):
    # 模板文件要指明应用路径
    return render(request, 'blog/index.html')

在blogsite/urls.py中指明主页url

from django.conf.urls import url
from django.contrib import admin
# 不要忘记导入blog中的views
from blog import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 访问/和/index都将跳转至主页
    url(r'^$', views.index),
    url(r'^index/$', views.index,name='home'),
]

OK,在根目录(manage.py目录)运行启动命令

python manage.py runserver

clipboard.png
查看127.0.0.1:8000,或者127.0.0.1:8000/index

clipboard.png
主页显示成功,下一篇介绍用户注册系统


阿呆吼
257 声望10 粉丝