选择Tools->Run manage.py Task,操作如下图
在弹出的窗口执行以下命令
或者在当前项目位置打开终端执行以下命令
python manage.py startapp system
则会在myblog目录下生成system app。此时system应用结构如下图
E:myblogsystem │ admin.py │ apps.py │ models.py │ tests.py │ views.py │ __init__.py │ ├─migrations │ │ __init__.py
编辑myblogmyblogsystemapps.py
添加以下内容
from django.apps import AppConfig
class SystemConfig(AppConfig):
name = 'system'
verbose_name = '系统管理'
新建myblogsystemurls.py
后面路由分发需要用到
from django.urls import path urlpatterns = []安装article
这里安装过程和安装system步骤一样且目录结构一致,就不细说了。
编辑myblogarticleapps.py
from django.apps import AppConfig
class ArticleConfig(AppConfig):
name = 'article'
verbose_name='文章管理'
新建myblogarticleurls.py
后面路由分发需要用到
from django.urls import path urlpatterns = []安装comment
这里安装过程和安装system步骤一样且目录结构一致,就不细说了。
编辑myblogcommentapps.py
from django.apps import AppConfig
class CommentConfig(AppConfig):
name = 'comment'
verbose_name = '评论管理'
新建myblogcommenturls.py
后面路由分发需要用到
from django.urls import path urlpatterns = []应用注册和路由分发
编辑myblogmyblogsettings.py
修改以下内容
....
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'system',
'article',
'comment'
]
....
编辑myblogurls.py
from django.conf import settings
from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
# 系统应用
path('sys/', include(('system.urls', 'system'), namespace="sys")),
# 文章应用
path('article/', include(('article.urls', 'article'), namespace='article')),
# 评论应用
path('comment/', include(('comment.urls', 'comment'), namespace='comment'))
]
if settings.DEBUG:
import debug_toolbar
urlpatterns = urlpatterns + [path('__debug__/', include(debug_toolbar.urls))]
页面布局
新建myblogtemplateslayout,该文件夹用来存放页面组件。
新增myblogtemplateslayoutnav.html
添加以下内容,nav.html则是页面头部导航条内容,由于现在还没有完成文章的逻辑,这块的文章分类暂时还不做
新增myblogtemplateslayoutjumbotron.html
添加以下内容,jumbotron.html则是页面中间的大图展示内容
寄言燕雀莫相唣
自有云霄万里高
新增myblogtemplateslayoutfooter.html
添加以下内容,footer.html则是页面底部的内容
新增myblogtemplateslayoutbase.html
base.html会通过django的template机制通过include标签引入footer.html,nav.html,jumbotron.html。同时后续的所有的页面html都会通过extend机制继承base.html,也就是说把页面公共的部分提取出来了,生下来的主内容区域即是变动的内容。
{% load static %}
个人博客
{# 有的页面有自己要加载的静态文件 #}
{% block other_static_file %}
{% endblock %}
{#头部内容#}
{% include 'layout/nav.html' %}
{#页面主内容#}
{% include 'layout/jumbotron.html' %}
{% block main %}
{% endblock %}
{#底部内容#}
最终效果如下
![]](https://img-blog.csdnimg.cn/ec0319a7dd7e457bba75950a391ff82d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rWq6YeM5YiS6Ii5,size_20,color_FFFFFF,t_70,g_se,x_16)



