网站开发纪录

day1:

bbs的models基本类数据定义,数据库连接;

注意创建数据库的时候指定utf8格式,不然不能写中文,会出错;

CREATE DATABASE bbs_pro DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

问题:

class BBS_user(models.Model):
    user = models.OneToOneField(User)#ForeignKey不能反向查,OneToOne可以

中途给OneToOneField()没与User对应导致出错;

一个没对齐出错;

解决:

简单的分析日志,然后搜索解决;

---------------------------------------------------------------------------------------------------------

day2:


1、使用django评论插件的时候重新manage.py syncdb后出错

CommandError: One or more models did not validate:
comments.comment: 'site' has a relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.

    'django.contrib.comments',#导入评论插件
    'django.contrib.sites',
)
SITE_ID=1

添加sites,并设置站点ID为1即可。

2、添加用户时出现错误,原来之前BBS_user的__unicode__有问题,返回self.user.username即可,用户那儿就显示用户名,返回其他的也可以,只返回self.user是返回对象,会出错。

3、定制admin,在admin里添加过滤器和搜索框


--------------------------------------------------------------------------------------------------

day3:

1、在Bootstrap里挑了一个模板,将html源代码和一些css和js下载到本地,对其进行修改以显示自己的bbs列表。

2、遇到的列表显示问题通过搜索和参考前端代码解决了。

3、文章内容格式很乱,没有空格和回车。

4、添加评论插件,出现问题;然后自己编写评论模块,发生权限问题,必须先登录才能发表评论。


--------------------------------------------------------------------------------------------------

day4:

1、做登录模块,写了login.html,当发回给views.acc_login处理登录请求的时候出现“CSRF verification failed. Request aborted.”错误,是一个django对跨站伪造请求漏洞的保护,日志提供四种可能情况,都尝试过,还没解决。暂时先注释掉'django.middleware.csrf.CsrfViewMiddleware',保护机制。

2、def sub_comment(request):用于实现提交评论

    comments.models.Comment.objects.create(
                                   content_type_id = 7,
                                   object_pk = bbs_id,#给哪个帖子写评论
                                   site_id = 1,
                                   user_id = request.user.id,
                                   comment = comment,
                                   )

注意查看id不一定和这个一样,都是动态的,随项数的不一样会变。

3、文章内容是乱的,因为数据直接放到数据库变成了utf8格式,实现其html格式存放,网上可以下载html编辑器,可以用tinymce编辑器

4、添加版块,出错。

"Unknown column 'app01_bbs.category_id' in 'field list'"

主要是之前在bbs里漏掉了一个版块属性,现在添加的话直接用syncdb更新是不行的,django1.6可以用south解决,django1.7以上migrate可以直接更新,由于用的1.6,实在太麻烦了,我就直接删了数据库重建了(蛋疼)。

--------------------------------------------------------------------------------------------------

day5:

1、展示bbs列表,刷新后有错,原来第一次写成models.Category.objects了,应该是从所有的bbs帖子里过滤出该版块的帖子。

def category(request,cata_id):
    bbs_list = models.bbs.objects.filter(category__id=cata_id)
2、版块分类里全部显示Category object,需要将其显示为自己的名字。

在category的类定义下补充

    def __unicode__(self):
        return self.name
即可显示为版块名字。


3、实现当点击版块的时候这个版块的板块名active。

当在html里用{%ifequal category.id  cata_id%}判断的时候,所有版块都没有active,用django debug tools调试工具调试后发现category.id是整形的,但是cata_id返回的是unicode字符,所以永远不会相等。对cata_id进行强制转换后再比较即可int(cata_id)。


--------------------------------------------------------------------------------------------------

day6:

1、修改前端,最终效果如下:


2、部署到sae上时出现多种问题,django sae上最高支持1.5,当自己上传了django1.6包时又出现冲突,


3、搜索解决方法,看到http://shanyuze.com/blog/6/  这篇文章,发现自己上传django包要依赖其他的包,这样找所有包太艰难而且很容易出错,工作量太大还不一定调试好,还不如自己搭建服务器或者在sae里直接重新新建项目复制代码来得快。

  • 之后将于manage.py同级的文件,及代码全部拷贝到1文件内,由于SAE最高只支持 Django1.5,而我们使用的是Django1.6,这里要在1文件内新建名叫site-packages的文件夹,将Django1.6代码包拷进来,注意,Django所使用的第三方依赖包也要拷进来,比如说markdown、linaro_django_pagination等,因为SAE不一定提供,可以查看SAE预装模块列表,看看我们所使用的第三方包是否在里面,在里面的话就不需要拷进来了,比如说:PIL等(这里有个血的教训,我在site-packages拷进了我本地使用的PIL包,线上后,发现图片处理那块总是报500错误,后来发现本地包是32位的与我本地使用的32位python2.6.7相容,但是线上SAE使用的是64位python,所以不兼容出现问题,解决就是删除site-packages中的PIL包默认使用SAE提供的就行。)


DONE!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要开发一个基于 Spring Boot 的视频播放网站,需要以下步骤: 1. 准备好 Spring Boot 开发环境,包括 Java 环境和开发工具。 2. 建立项目,使用 Spring Initializer 或者使用 IDE 的插件进行创建。 3. 整合技术栈,如 Thymeleaf 模板引擎、MySQL 数据库和阿里云 OSS 等。 4. 编写控制器,实现页面的展示和数据的交互。 5. 数据库设计,编写数据持久层,实现对数据的存储和查询。 6. 完成前端页面的开发,使用 Thymeleaf 模板实现页面的渲染。 7. 实现视频上传和播放的功能,使用阿里云 OSS 存储视频文件,使用 HTML5 视频标签在前端播放视频。 8. 部署项目,在生产环境中运行你的网站。 以上就是一个简单的开发流程,当然具体实现还需要根据具体需求和业务场景进行调整。 ### 回答2: 使用Spring Boot开发视频播放网站需要几个关键的组件和功能。首先,我们需要一个数据库来存储视频信息和用户信息。可以选择使用关系型数据库(如MySQL)或者文档数据库(如MongoDB)来存储这些数据。 接下来,我们需要一个用户管理系统,用于用户的注册、登录和权限管理。可以使用Spring Security来实现用户认证和授权功能。用户可以注册账户,登录后可以查看、上传和评论视频。 视频管理系统是网站的核心功能。在数据库中,我们需要一个视频表来存储视频的信息,例如视频标题、描述、封面图片和路径等。用户可以上传视频,这些视频会被存储在服务器上,然后将视频信息写入数据库。用户可以浏览视频列表,搜索视频,观看视频,并可以根据不同的标签(例如电影、电视剧、纪录片等)分类浏览。视频播放功能可以通过使用流媒体技术和HTML5视频标签来实现。 除了播放视频,用户还可以在视频下方添加评论和评分。评论和评分将存储在数据库中,可以根据用户和视频进行关联。 为了提高网站的性能和用户体验,可以引入相关技术,例如缓存机制和内容分发网络(CDN)。使用Spring Boot提供的缓存注解和支持,可以对一些热门的视频进行缓存,提高访问速度。使用CDN可以将视频静态资源缓存到离用户更近的服务器上,减少访问延迟和网络带宽。 最后,为了实现视频网站的全局布局,我们可以使用前端框架(如Bootstrap)来设计网站的界面,并使用Thymeleaf模板引擎来渲染页面。通过这些组件和功能的结合,我们可以开发一个功能丰富、用户友好的视频播放网站。 ### 回答3: Spring Boot是一个用于快速开发Java应用程序的开源框架。使用Spring Boot可以快速搭建一个视频播放网站。 首先,我们可以通过Spring Boot提供的自动配置功能来快速集成视频播放所需的各种组件和功能。可以选择使用一些成熟的视频播放框架,如VideoJS或JWPlayer,并通过自动配置来集成到Spring Boot项目中。 其次,为了实现视频播放功能,我们可以使用Spring Boot提供的静态资源处理功能来管理视频资源。可以将视频文件存储在服务器的某个目录中,然后通过配置Spring Boot的静态资源路径,使得这些视频文件可以被访问。 另外,为了提供更好的用户体验,可以使用Spring Boot提供的模板引擎,如Thymeleaf或Freemarker,来构建网站的前端页面。可以使用这些模板引擎来动态生成视频播放页面,并通过后端代码来处理用户的请求和响应。 此外,为了提高网站的性能和扩展性,可以使用Spring Boot提供的缓存功能,如Redis或Ehcache,来缓存视频资源和用户数据。这样可以减少对数据库和服务器的访问,提高网站的响应速度和并发能力。 最后,为了实现用户的注册和登录功能,并保护视频资源的安全性,可以使用Spring Boot提供的安全框架,如Spring Security。通过配置Spring Security,可以实现用户认证和授权,并设置相应的权限规则,以限制用户对视频资源的访问。 综上所述,使用Spring Boot可以快速搭建一个视频播放网站,并可以通过其丰富的功能和自动配置来实现视频播放、用户认证、缓存管理等功能,提高网站的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值