小编Tom*_*ins的帖子

向所有连接的客户端广播,除了使用python flask socketio的发件人

我正在关注Alex Hadik的Flask Socketio教程,该教程构建了一个非常简单的烧瓶聊天应用程序.

http://www.alexhadik.com/blog/2015/1/29/using-socketio-with-python-and-flask-on-heroku

我想向除发件人之外的所有连接用户广播一条消息.我已经通过了flasksocketio init .py,但我仍然不确定如何做到这一点.

这是服务器代码.

from flask import Flask, render_template,request
from flask.ext.socketio import SocketIO,emit,send
import json,sys

app = Flask(__name__)
socketio = SocketIO(app)
clients = {}
@app.route("/")
def index():
    return render_template('index.html',)

@socketio.on('send_message')
def handle_source(json_data):
    text = json_data['message'].encode('ascii', 'ignore')
    current_client = request.namespace
    current_client_id = request.namespace.socket.sessid
    update_client_list(current_client,current_client_id)
    if clients.keys():
        for client in clients.keys():
            if not current_client_id in client:
                clients[client].socketio.emit('echo', {'echo': 'Server Says: '+text})       

def update_client_list(current_client,current_client_id):
    if not current_client_id in clients: clients[current_client_id] = current_client
    return 

if __name__ == "__main__":
    socketio.run(app,debug = …
Run Code Online (Sandbox Code Playgroud)

python flask socket.io

7
推荐指数
2
解决办法
4625
查看次数

Django创建没有密码的新用户

我正在使用自定义UserCreationForm创建新用户,然后将auth.views中的password_reset与自定义电子邮件模板一起使用,以向用户发送注册邮件。此过程运行良好,用户能够成功完成注册过程并开始使用该应用程序。我现在想创建用户,而不必为用户设置密码。我尝试按照此处建议的那样在UserCreationForm init方法中将self.fields ['password1']。required和self.fields ['password2']。required设置为False,但这对我不起作用。不幸的是,事实证明调试起来很困难。我没有看到任何错误消息,但是我知道没有调用RegistrationView注册方法。

这是我的UserCreationForm

class UserCreateForm(UserCreationForm):
    email = forms.EmailField(required=True)

    class Meta:
        model = User
        fields = ("email",)

    def __int__(self):
        self.fields['password1'].required = False
        self.fields['password2'].required = False

    def save(self, commit=True):
        user = super(UserCreateForm, self).save(commit=False)
        clean_email = self.cleaned_data["email"]
        user.email = clean_email
        if commit:
            user.save()
        custom_user = CustomUser()
        custom_user.id = user
        custom_user.save()
        return user
Run Code Online (Sandbox Code Playgroud)

这是我的注册视图

class UserRegistration(RegistrationView):
    def __init__(self):
        self.form_class = UserCreateForm
        self.success_url = 'login'
        self.template_name = 'register.html'

    def register(self, request, form):
        new_user = form.save()
Run Code Online (Sandbox Code Playgroud)

我正在使用Django 1.8。请让我知道其他信息是否有用。

python django django-forms

2
推荐指数
2
解决办法
7066
查看次数

标签 统计

python ×2

django ×1

django-forms ×1

flask ×1

socket.io ×1