我现在正在制作一个django网站,我想实现像facebook或SE上的实时通知功能.
我做了一些研究,看起来虽然有两种选择:ajax长轮询和websockets,后者是要走的路.
但是,正如你所知,对于websocket插件来说,'socket.io'原来是一个node.js插件而django端口似乎只支持python 2而且项目似乎已经死了.我使用python 2.7作为我的项目解释器,但我希望自己将来证明自己,如果我以后升级到python3,我发现自己无法使用此功能.
所以我的问题是:是否有一个直接的和未来的现成方法来实现websocket,用于在django env中发送实时通知和聊天?
我正在Django制作一个非常基本的BBS系统(如博客).
我已经创建了一个表单,用户可以在其中输入我称之为"正文"的内容,并在forms.py中将其声明为:
body = forms.CharField(widget= forms.Textarea, label="body",required=True)
Run Code Online (Sandbox Code Playgroud)
在models.py中,
body = models.TextField()
Run Code Online (Sandbox Code Playgroud)
我似乎无法编写多行文本...
把它们加起来,
我可以在我的表单中写多行,如:
您好,这是测试
这是样本测试2
333333
但是当我提交它时,我只看到了
您好,这是测试这是示例test2 333333
我不确定这是否是问这个或 Programmers SE 的正确地方,所以请指出我是否在这里发布它是错误的。
我需要创建一个 UserProfile 模型,其中包含有关 Django 中用户的额外信息。
但它包含的信息之一是用户的祖国。
可以想象,世界上所有国家的名单是……相当大的名单。( http://www.state.gov/misc/list/ )
有没有什么办法(懒惰的方式)可以让我拥有这个功能而不像这样自己列出所有国家?
COUNTRY_CHOICE = (('Afghanistan', 'Afghanistan'), ('Albania','Albania') .....
Run Code Online (Sandbox Code Playgroud) 我希望能够编辑帖子并保存它。
到目前为止,我已经设法做到了这一点,并实施了检查以查看用户是否已登录。
但是,我似乎无法找到如何验证用户是否有权这样做。
这是我的代码:
class PostUpdate(UpdateView):
model = Post
fields = ['title','body','page','category']
template_name = 'post_update.html'
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(PostUpdate, self).dispatch(*args, **kwargs)
def form_valid(self, form):
form.instance.owner_user = self.request.user
return super(PostUpdate, self).form_valid(form)
Run Code Online (Sandbox Code Playgroud)
在我的 Post 模型中,我有一个名为“owner_user”的字段,其中包含一个 User 作为外键:
owner_user = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)
我希望能够使用pk我的urls.py 中的变量
url(r'^post/(?P<pk>\d+)/edit',
PostUpdate.as_view(),
name='PostUpdate'),
Run Code Online (Sandbox Code Playgroud)
并检查它做这样的事情:
post = get_object_or_404(Post,id=pk)
if post.owner_user == request.user:
#Show edit page
else:
return HttpResponseForbidden()
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?
我希望能够在 JavaScript 中创建一个名为“Comment”的新 Django 对象。
(我知道你不能像在视图方法中那样简单地声明一个新对象)
我需要允许用户能够回复现有评论。
我已经完成了这样的操作:如果用户按下评论的“回复”按钮,下面会出现一个表单,并将用户想要回复的评论的 id 保存在 js 变量中。
然而,我正在努力寻找一种最终提交所有这些内容的方法,以便我可以发布新的子评论。
有没有一种简单的方法可以实现这一目标?
我有以下html结构:
<div class="row>
<div class="box"></div>
<div class="box"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在Django上使用分页功能,每页传递6个项目。
我如何遍历分页器生成的对象列表,同时用行div包装每个两个框div?