版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/85834505
一 创建一个新的应用
(venv) E:\Django\mysite\mysite>python manage.py startapp course
二 配置应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
'account',
'password_reset',
'article',
'image',
'sorl.thumbnail',
'course',
]
三 配置URL
1 配置项目URL
from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic import TemplateView
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/', include("blog.urls", namespace="blog", app_name="blog")),
url(r'^account/', include("account.urls", namespace='account', app_name='account')),
url(r'^pwd_reset/', include("password_reset.urls", namespace='pwd_reset', app_name='pwd_reset')),
url(r'^article/', include('article.urls', namespace='article', app_name='article')),
url(r'^home/', TemplateView.as_view(template_name="home.html"), name="home"),
# 图片的根URL
url(r'^image/', include('image.urls', namespace='image', app_name='image')),
url(r'^course/', include('course.urls', namespace='course', app_name='course')),
]
# 为每个上传的静态图片配置了URL地址
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
2 配置应用URL
from django.conf.urls import url
from django.views.generic import TemplateView
urlpatterns = [
url(r'about/$', TemplateView.as_view(template_name="course/about.html")),
]
四 创建模板
{% extends "base.html" %}
{% block title %}学习网站{% endblock %}
{% block content %}
<div class="container">
<h1 class="text-center">欢迎学习</h1>
<p class="text-center">本网站提供各种编程技能,供广大码农学习。</p>
<p class="text-center">QQ群号:798103175</p>
<h2 class="text-center">欢迎访问。</h2>
</div>
{% endblock %}
五 测试
1 浏览器输入:http://127.0.0.1:8000/course/about/
六 用最简单的视图类优化
1 在view.py中编写视图类
from django.views.generic import TemplateView
class AboutView(TemplateView):
template_name = "course/about.html"
2 重写应用URL
from django.conf.urls import url
from .views import AboutView
urlpatterns = [
url(r'about/$', AboutView.as_view(), name="about"),
]
3 增加访问入口
<!--模板中声明引入静态文件的标签,只有使用它,static标签才能使用-->
{% load staticfiles %}
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" href="https://blog.csdn.net/chengqiuming"><img src="{% static '/images/logo.png' %}" width="100px"></a>
</div>
<div>
<ul class="nav navbar-nav" role="navigation">
<li><a href="{% url 'home' %}">主页</a></li>
<!--blog是urlpatterns中定义的namespace,blog_title是视图函数-->
<li><a href="{% url 'blog:blog_title' %}">博客</a></li>
<li><a href="{% url 'article:article_titles' %}">文章</a></li>
<li><a href="{% url 'image:falls_images' %}">美图</a></li>
<li><a href="{% url 'course:about' %}">关于本站</a></li>
</ul>
<ul class="nav navbar-nav navbar-right" style="margin-right:10px">
{% if user.is_authenticated %}
<li>
<div class="dropdown" style="margin-top:8px">
<button class='btn btn-default dropdown-toggle' type='button' id='dropdownMenu' data-toggle='dropdown'>{{ user.username }}<span class='caret'></span></button>
<ul class="dropdown-menu">
<li><a href="{% url 'account:password_change' %}">修改密码</a></li>
<li><a href="{% url 'account:my_information' %}">个人信息</a></li>
<li><a href="{% url 'article:article_column' %}">后台管理</a></li>
</ul>
</div>
</li>
<li><a href="#">{{ user.username }}</a></li>
<li><a href="{% url 'account:user_logout' %}">退出</a></li>
{% else %}
<li><a href="{% url 'account:user_login' %}">登录</a></li>
<li><a href="{% url 'account:user_register' %}">注册</a></li>
{% endif %}
</ul>
</div>
</nav>
</div>
<script src="{% static 'js/jquery.js'%}"></script>
<script src="{% static 'js/bootstrap.js' %}"></script>
七 测试