数据库代码块

 from django.db import models
 from django.utils import timezone
 from django.contrib.auth.models import User

 # Create your models here.
 class BlogArticles(models.Model):
     title = models.CharField(max_length=30)
     author = models.ForeignKey(User,related_name="blog_posts")
     body = models.TextField()
     publish = models.DateTimeField(default=timezone.now)

     class Meta:
         ordering = ("-publish",)

     def __str__(self):
         return self.title

显示文章标题代码块

 from django.shortcuts import render
 from .models import BlogArticles

 def blog_title(request):
     blogs = BlogArticles.objects.all()
     return render(request,'blog/titles.html',{"blogs":blogs})

公共模板base.html

 {% load staticfiles %}
 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>{% block title %}{% endblock %}</title>
     <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.min.css">
 </head>
 <body>
 <div class="container">
     {% block content %}
     {% endblock %}
 </div>
 <script src="/static/jquery.min.js"></script>
 <script src="/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
 </body>
 </html>

显示文章标题

unblog的url中

    url(r'^blog/', include('blog.urls')),

blog的url中

    url(r'^blog_title/', views.blog_title),

视图函数

 from .models import BlogArticles

 def blog_title(request):
     blogs = BlogArticles.objects.all()
     return render(request,'blog/titles.html',{"blogs":blogs})
titles。html
 {% extends "base.html" %}

 {% block title %}blog titles{% endblock %}

 {% block content %}
     <div class="row text-center vertical-middle-sm" ><h1>我的博客</h1></div>
     <div class="row">
     <div>
         <ul>
             {% for blog in blogs %}
                 <li><a href="#">{{ blog.title }}</a></li>
             {% endfor %}
         </ul>
     </div>
     </div>
 {% endblock %}

显示结果

查看文章内容

映射关系

    url(r'^blog_title/$', views.blog_title),
    url(r'^blog_title/(?P<nid>\d)/$', views.blog_article),

前端中的title,html更改项目

            {% for blog in blogs %}
                <li><a href="{{ blog.id }}">{{ blog.id }}>>>{{ blog.title }}</a></li>
            {% endfor %}

函数部分

 def blog_article(request,nid):
     # article=BlogArticles.objects.get(id=nid)
     article= get_object_or_404(BlogArticles,id=nid)
     pub = article.publish
     return render(request,'blog/content.html', {"article":article,"pub":pub})

 content.html前端代码

{% extends "base.html" %}
{% block title %}blog articel{% endblock %}
{% block content %}
    <div class="row text-center vertical-middle-sm"><h1>{{ article.title }}</h1></div>
    <div class="row">
        <div>
            <P class="text-center">
                <span>{{ article.author.username }}</span>
                <span>{{ pub }}</span>
            </P>
        </div>
        <div>{{ article.body }}</div>
    </div>
{% endblock %}

  最后结果

url代码

    url(r'^register/$', views.user_register,  name='user_register'),

注册的视图函数

def user_register(request):
    if request.method == 'GET':
        user_form = RegistrationForm()
        return render(request, 'account/register.html', {"form": user_form})
    if request.method == 'POST':
        user_form = RegistrationForm(request.POST)
        print(">>>",request.POST)
        if user_form.is_valid():
            new_user = user_form.save(commit=False)
            ',new_user)
            new_user.set_password(user_form.cleaned_data['password'])
            ',new_user)
            new_user.save()
            return HttpResponse('注册成功')
        else:
            return HttpResponse('注册失败')
    else:
        user_form = RegistrationForm()
        return render(request, 'account/register.html', {"form": user_form})

html验证的代码

注册时的代码html的代码

 {% extends "base.html" %}
 {% load staticfiles %}
 {% block title %}用户注册{% endblock %}

 {% block content %}
     <div class="row text-center vertical-middles-sm">
         <h1>登陆注册页面</h1>
         <p>如果账户已存在请<strong><a href="{% url 'account:user_login' %}">登陆</a></strong></p>
         <p>或者,请注册</p>
         <form class="form-horizontal" action="." method="post">{% csrf_token %}
             <div class="form-group">
                 <label for="{{ from.username.id_for_lable }}" class="col-md-5 control-label">Username</label>
                 <div class="col-md-6 text-left">{{ form.username }}</div>
             </div>
             <div class="form-group">
                 <label for="{{ from.email.id_for_lable }}" class="col-md-5 control-label">Email</label>
                 <div class="col-md-6 text-left">{{ form.email }}</div>
             </div>
             <div class="form-group">
                 <label for="{{ from.password.id_for_lable }}" class="col-md-5 control-label">Password</label>
                 <div class="col-md-6 text-left">{{ form.password }}</div>
             </div>
             <div class="form-group">
                 <label for="{{ from.password.id_for_lable }}" class="col-md-5 control-label">Confirm Password</label>
                 <div class="col-md-6 text-left">{{ form.password2 }}</div>
             </div>
             <input type="submit" class="btn btn-lg btn-primary" value="注册">
         </form>
     </div>
 {% endblock %}

未完待续

django实战模拟博客系统的更多相关文章

  1. Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置

    Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...

  2. Django快速搭建博客系统

    Django快速搭建博客系统 一.开发环境 Windows 7(64bit) python 3.6   https://www.python.org/ Django 2.0  https://www. ...

  3. 【完全开源】Django多人博客系统——支持MarkDown和tinyMce

    目录 说明 功能 如何使用 说明 这是一个用Django开发的多人博客系统,功能简单,但完全满足公司内部或个人的博客使用需求.支持普通富文本编辑器(tinyMCE)和MarkDown编辑器 由于嫌弃D ...

  4. Django:(博客系统)使用使用mysql数据&创建post/category/tag实体,并同步到数据中

    背景: 之前也读过一些关于django的一些书,看过别人写的一些博客系统.但是总有一种看别人的都会,但自己写不出来的感觉,于是为了加深对django的学习就开始动手学习了. 环境搭建: 环境:使用py ...

  5. Django实现的博客系统中使用富文本编辑器ckeditor

    操作系统为OS X 10.9.2,Django为1.6.5. 1.下载和安装 1.1 安装 ckeditor 下载地址 https://github.com/shaunsephton/django-c ...

  6. 动手实践记录(利用django创建一个博客系统)

    1.添加一个分类的标签,和主表的关系是 外键 class Category(models.Model): """ 分类 """ name = ...

  7. 用Python和Django实现多用户博客系统(二)——UUBlog

    这次又更新了一大部分功能,这次以app的形式来开发. 增加博客分类功能:博客关注.推荐功能(ajax实现) 增加二级频道功能 更多功能看截图及源码,现在还不完善,大家先将就着看.如果大家有哪些功能觉的 ...

  8. 用Python和Django实现多用户博客系统——UUBlog

    又过了一周,把代码整个的优化和完善了一下,也把TBlog更名为UUBlog.这次基本是把上次的整个更新了一下具体的功能大家可以下载后自己看看说一下主要的变化增加了频道表.博客表. 功能方面主要有增加频 ...

  9. Django:(博客系统)添加文章(中文)出现UnicodeEncodeError乱码

    添加文章时出现了一个UnicodeEncodeError乱码问题 在添加文章时,抛出了异常: 解决方案,修改manage.py(添加import sys reload(sys) sys.setdefa ...

随机推荐

  1. [转] react-router4 + webpack Code Splitting

    项目升级为react-router4后,就尝试着根据官方文档进行代码分割.https://reacttraining.com/react-router/web/guides/code-splittin ...

  2. 【Android】Android 代码判断是否获取ROOT权限(一)

    [Android]Android 代码判断是否获取ROOT权限 方法比较简单,直接粘贴代码 public synchronized boolean getRootAhth() { Process pr ...

  3. Ant之build.xml详解

    Ant之build.xml详解 关键字: ant build.xml Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译 ...

  4. 伪分布式hbase从0.94.11版本升级stable的1.4.9版本

    Hbase从0.94.11升级到stable的1.4.9版本: 升级思路: hadoop1.1.2    hbase 0.94.11                             ↓ had ...

  5. python--异常捕获

    #异常捕获---指定异常类型 try: #尝试 fi=open(r'D:\Users\4399-3046\Desktop\test.txt',mode='wb'); fi.write('写入文字'); ...

  6. IISExpress运行网站时,Service Fabric报Could not load file or assembly 'Microsoft.ServiceFabric.Data' or one of its dependencies. An attempt was made to load a program with an incorrect format.

    打开VS   TOOLS > OPTIONS > Projects and Solutions > WEB PROJECTS,选中 "Use the 64 bit vers ...

  7. day 50 js-part1基础语法,数据类型及用法,流程控制语句,循环

    js基本概念: JavaScript 是世界上最流行的脚本语言. JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript ...

  8. 关于XML的简单整理

  9. DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性—Jason niu

    %DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性 load data.mat a = randperm(569); Train = data(a(1:500),:); Test = ...

  10. TF:TF之Tensorboard实践:将神经网络Tensorboard形式得到events.out.tfevents文件+dos内运行该文件本地服务器输出到网页可视化—Jason niu

    import tensorflow as tf import numpy as np def add_layer(inputs, in_size, out_size, n_layer, activat ...