我正在关注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) 我正在使用自定义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。请让我知道其他信息是否有用。