我正在为一个假设的社交网络编写聊天应用程序,但是当我尝试打开聊天页面时,出现以下错误“ AnonymousUser”对象没有属性“ profile” error。我认为模型文件中可能存在问题,但是我真的不知道如何解决它,现在我真的很困惑!谁能提供任何建议?
聊天views.py的一部分
def index(request):
if request.method == 'POST':
print request.POST
request.user.profile.is_chat_user=True
logged_users = []
if request.user.username and request.user.profile.is_chat_user:
context = {'logged_users':logged_users}
cu = request.user.profile
cu.is_chat_user = True
cu.last_accessed = utcnow()
cu.save()
return render(request, 'djangoChat/index.html', context)
try:
eml = request.COOKIES[ 'email' ]
pwd = request.COOKIES[ 'password' ]
except KeyError:
d = {'server_message':"You are not logged in."}
query_str = urlencode(d)
return HttpResponseRedirect('/login/?'+query_str)
try:
client = Vertex.objects.get(email = eml)
context = {'logged_users':logged_users}
cu = request.user.profile
cu.is_chat_user = True
cu.last_accessed = …Run Code Online (Sandbox Code Playgroud) 我只是为复数编写了一个类,你可以在下面看到它的代码;假设A和B是复数,我的问题是当我编写代码时:
cout << A + B; //它给了我一个错误
但是当我将A + B分配给类Complex的实例时,比如C,它可以正常工作.我的意思是:
复数C = A + B << endl; cout << C; //正常工作
我真的很困惑为什么我不能使用A + B作为<<运算符的右操作数.任何想法我怎么能直接c + A +?在此先感谢您的帮助.这是我到目前为止所提出的:
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double image;
public:
Complex(double r, double i){ real=r ; image=i;}
int GetReal(){ return real;}
int GetImage(){return image;}
//overload complex + complex
friend Complex operator+(const Complex &c1,const Complex &c2) ;
//overload complex + double
friend Complex operator+(const Complex &c,double Number) ;
//overload double …Run Code Online (Sandbox Code Playgroud)