Django开发BBS---51网络课程笔记(2)

接着上节的内容,来添加前端的代码,http://4440271.blog.51cto.com/4430271/1663863

首先,在http://v3.bootcss.com/getting-started/找到一个样式:

这里使用http://v3.bootcss.com/examples/navbar-static-top/

的样式:

将页面下载下来,添加到:

中,添加完成后,需要在settings.py中引入改目录:

在statics目录中,有网页中的js,css的文件,这些文件需要拷贝到目录用:

这里给出下载地址:

http://down.51cto.com/4430271

中下载statics

这里要对页面的内容要做一些修改。这里只上传修改好的内容。

对于前端的介绍,详细描述在:http://4440271.blog.51cto.com/4430271/1663934

在url.py中添加

在views.py中添加视图:

index的页面部分基本完成

视图与html页面的链接过程都是一样的,因此之后的添加不做专门介绍,只在代码中给出解释。

接下来加入评论页面:

首先,评论页面继承自index

其次,评论页面主要的显示首先是bbs_detail的内容,然后显示评论的内容,还应该有添加评论的地方。用bbs_detail.html完成这一页面, 我们分别描述各个部分,在博客的最后一篇中,我们会给出完整的代码。

在views.py中,应当添加相应的模块:

对于评论部分

在views.py中

这里,有个地方需要说明,就是 content_type_id,他是对数据库中所有表排列后给每个表的id号,在我们的项目中,bbs表所在的id号为7;

同时在url中添加

其结果如下:

然后是发帖的页面及功能:

在页面部分,我们使用一个在线插件:http://www.tinymce.com/download/download.php

来使得输入页面比较美观:

将下载后的文件放到statics目录下

其用法在:http://www.tinymce.com/wiki.php/Installation

其页面效果:

实现代码部分如下:

<link href="/static/css/signin.css" rel="stylesheet">
{% extends ‘index.html‘ %}

{% block page-content %}

<!-- Place inside the <head> of your HTML -->
<script type="text/javascript" src="/static/tinymce/js/tinymce/tinymce.min.js"></script>
<script type="text/javascript">

tinymce.init({
	selector: "textarea",
    theme: "modern",
    plugins: [
        "advlist autolink lists link image charmap print preview hr anchor pagebreak",
        "searchreplace wordcount visualblocks visualchars code fullscreen",
        "insertdatetime media nonbreaking save table contextmenu directionality",
        "emoticons template paste textcolor colorpicker textpattern"
    ],
    toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
    toolbar2: "print preview media | forecolor backcolor emoticons",
    image_advtab: true,
    templates: [
        {title: ‘Test template 1‘, content: ‘Test 1‘},
        {title: ‘Test template 2‘, content: ‘Test 2‘}
    ]
});

</script>

<!-- Place this in the body of the page content -->
<form method="post" action="/bbs_sub/">
    <h3>Title</h3>
    <input type="text" name="title" class="form-control" placeholder="" required>
    <hr>
    <h3>Content</h3>
    <textarea name="content"></textarea>
    <hr>
    <h3>Summary</h3>
    <input type="text" name="summary" class="form-control" placeholder="Summary" required>
    <br>
    <div class="form-signin">
        <button class="btn btn-lg btn-primary btn-block" type="submit">Save</button>
    </div>
{#    <input type=‘submit‘ value=‘Save‘ />#}

</form>

{% endblock %}

在views.py中,获取前端传来的数据,导入到数据库中:

def bbs_pub(request):
    return render_to_response(‘bbs_pub.html‘)

def bbs_sub(request):
    print request.POST.get(‘content‘)
    title = request.POST.get(‘title‘)
    content = request.POST.get(‘content‘)
    summary = request.POST.get(‘summary‘)
    author = models.BBS_user.objects.get(user__username=request.user)
    models.BBS.objects.create(
        title=title,
        summary=summary,
        content=content,
        author=author,
        view_count=1,
        ranking=1,
        #created_at=models.DateTimeField(auto_now_add=True),  # 创建日期
        #updated_at = models.DateTimeField(auto_now_add=True),  # 修改日期
    )
    return HttpResponse("<h2>Bbs was published, please enter <br/><a href=‘/‘>return</a> to index!<h2>")

到此为止,其功能基本实现完成,但是,这个系统只是简单的将django中的内容的一个拼凑,其中还有很多的问题,比如事件处理等。

下一节中,我们将给出bbc_pro的完整代码和最终的显示效果。

时间: 2024-10-29 19:12:10

Django开发BBS---51网络课程笔记(2)的相关文章

Django开发BBS---51网络课程笔记(1)

51上有一个用Django开发BBS论坛的免费视频,就开发过程写个简要的笔记.课程地址:http://edu.51cto.com/course/course_id-2787.html 论坛的开发以"抽屉"http://dig.chouti.com/ 为原型.开发一个类似的BBS网站. 抽屉网站的主界面结构: 由此,在创建项目之前,确定数据的表结构: 首先,应当有一个发帖的表, 其次, 是哪个用户发的,应当创建一个用户表 再有,应当有一个评论表.评论表中有一个id与帖子表相连 还应当建立

Django开发BBS---51网络课程笔记(目录)

这是51cto中bbs课程中的一个项目,这里写一下每节的目录: Django开发BBS---51网络课程笔记(1) 这部分主要介绍了数据库的搭建及站点管理 http://4440271.blog.51cto.com/4430271/1663863 Bootstrap开发 这不分主要讲前端的设计 http://4440271.blog.51cto.com/4430271/1663934 Django开发BBS---51网络课程笔记(2) 这部分主要讲view与前端的衔接部分 http://4440

(1/18)重学Standford_iOS7开发_iOS概述_课程笔记

写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识.带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现,对于已有的概念有了新的认识.这次课程笔记主要用作归纳知识点,整理学习思路,与大家讨论课后习题,交流等. 第一课:iOS概述 1.iOS分层:①Core OS:核心操作系统层,基于UNIX内核(套接字,文件系统,电源管理,钥匙串,Bonjour等).API多为C函数,实际应用使用较少. ②Core S

Django开发BBS---51网络课程笔记(3)

这一节中,我们提供了bbs_pro完整的代码及最终的实现效果: 项目完整的文件: 分别给出代码: # coding=utf-8 from django.db import models from django.contrib.auth.models import User # Create your models here. # 创建表 # 帖子表 class BBS(models.Model):     category = models.ForeignKey('Category')     

利用Django开发BBS论坛(一)

在做任何项目之前,首先需要对此项目做一个分析和功能构造,所以对数据库的创建则为重中之重,因为一些功能都是由数据库进行构建和开发的,所以对数据库的构造是很重要的,那么,关于要开发一个BBS论坛,那么其数据库也好好好地规划一下! 下面则是关于BBS数据库的相关代码! from django.db import models from django.contrib.auth.models import User from django.core.exceptions import Validation

Android网络项目课程笔记-----计划

目标:好用 充分:1) 角色完整 产品经理   灵魂 美工  交互设计师 开发   架构师 开发者 测试 小部分用户 2) 运营推广 基础:能用 必须: 1) API   框架 2) 模块(一个功能集合) * 3) 业务流程 4) bug 具备解决大部分中等难度bug的能力 5) 自学新技术的能力 6) 阅读代码 不合格:1) 做不了,有难度.需要很长时间 2) 只是做了,对过程负责.对结果不负责 3) 只是掌握了某个功能的基本实现方法,一旦出了bug, 解决效率很低 4) 没做过,没把握 合格

斯坦福大学IOS开发课程笔记(第八课)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/37370159 作者:小马 这节课讲视图的生命周期,网络视图,图像视图以及 滚动视图这些概念以及相关的demo演示.前两个概念比较简单,看一看就明白,我这里只是写图像视图以及 滚动视图的课程笔记. UIImageView用来显示图片.在下面的代码示例中,会有详细的步骤说明,有时候一些简单的应用,可以直接通过xcode设置,甚至不需要写代码. 这幅图向我们展示了scroll view

Django开发笔记之数据库的设计

后台采用Django开发,可以体会到开发的便利之处,对于一个项目来说,首先最重要的是数据库的设计,那么在Django下数据库设计主要是如下步骤: 1,需求分析,这点子不用多说,而我也深刻体会到了没有原型的时候就开始开发的困难之处,每次需求更改就会带来后台的数据和对应接口的一次变更.费时费精力 2.有了需求,那么开始数据库的设计,在Django中,并不需要直接去操作数据库,而且使用继承modesl.Model的类,在类中定义自己的模型,然后使用Python manage.py syncdb就可看到

Android网络项目课程笔记-----Volley框架

Volley 问题原因: Android4.x版本和2.x对AsyncTask的机制不同 2.x之中,同时执行5个,4.x同时只有一个 解决思路: 1) 使用Thread + Handler 注意: 使用线程池 2) 定制AsyncTask线程池 3) 开源框架Volley 1. 检查网络 2. 退出 3. 总结 有待改进 做的比较好的 商业级项目: 1) 稳定性   不要轻易FC    运行时异常 2) 用户体验:流畅(性能)/美观 3) 可扩展性 4) 可读性 5) 异常流程:提示 + 指导