2014-01-11 2 views
0

내 프로그램을 실행하고 장고 프레임 워크에서 카산드라 데이터베이스에 레코드를 삽입하려고 할 때 오류가 발생 함 : 잘못된 요청 : 알 수없는 식별자 ID 어떻게해야합니까?잘못된 요청 : 알 수없는 식별자 ID

def register_form(request): 
    return render_to_response('registration.html') 

def register_user(request): 
    connection.setup(['127.0.0.1:9160']) 
    sync_table(User) 
    id = request.GET['txtID'] 
    name = request.GET['txtName'] 
    username = request.GET['txtUsername'] 
    password = request.GET['txtPassword'] 
    User.create(id=str(id),name=name,username=username,password=password) 
    return render_to_response('OK') 

register_user이 registration.html

registration.html

로부터받은 정보를 처리합니다

CQLEngineException at /registered/ 

Bad Request: Unknown identifier id 

Request Method:  GET 
Request URL: http://127.0.0.1:8000/registered/?txtID=3&txtName=3&txtUsername=3&txtPassword=3 
Django Version:  1.5.1 
Exception Type:  CQLEngineException 
Exception Value:  

Bad Request: Unknown identifier id 

Exception Location:  C:\Python27\lib\site-packages\cqlengine\connection.py in execute, line 221 
Python Executable: C:\Python27\python.exe 
Python Version:  2.7.4 
Python Path:  

['D:\\Developer Center\\PyCharm\\Bookstore', 
'C:\\Python27\\lib\\site-packages\\pip-1.3.1-py2.7.egg', 
'C:\\Python27\\lib\\site-packages\\mysql_python-1.2.4-py2.7-win32.egg', 
'D:\\Developer Center\\PyCharm\\Bookstore', 
'C:\\Windows\\SYSTEM32\\python27.zip', 
'C:\\Python27\\DLLs', 
'C:\\Python27\\lib', 
'C:\\Python27\\lib\\plat-win', 
'C:\\Python27\\lib\\lib-tk', 
'C:\\Python27', 
'C:\\Python27\\lib\\site-packages', 
'C:\\Python27\\lib\\site-packages\\PIL'] 

Server time: Sat, 11 Jan 2014 16:48:09 +0330 
Traceback Switch to copy-and-paste view 

    C:\Python27\lib\site-packages\django\core\handlers\base.py in get_response 

           response = callback(request, *callback_args, **callback_kwargs) 

     ... 
    ▶ Local vars 
    D:\Developer Center\PyCharm\Bookstore\BookstoreApp\views.py in register_user 

      User.create(id=str(id),name=name,username=username,password=password) 

     ... 
    ▶ Local vars 
    C:\Python27\lib\site-packages\cqlengine\models.py in create 

       return cls.objects.create(**kwargs) 

     ... 
    ▶ Local vars 
    C:\Python27\lib\site-packages\cqlengine\query.py in create 

       return self.model(**kwargs).batch(self._batch).save() 

     ... 
    ▶ Local vars 
    C:\Python27\lib\site-packages\cqlengine\models.py in save 

       self.__dmlquery__(self.__class__, self, batch=self._batch).save() 

     ... 
    ▶ Local vars 
    C:\Python27\lib\site-packages\cqlengine\query.py in save 

         execute(qs, query_values) 

     ... 
    ▶ Local vars 
    C:\Python27\lib\site-packages\cqlengine\connection.py in execute 

      return connection_pool.execute(query, params) 

     ... 
    ▶ Local vars 
    C:\Python27\lib\site-packages\cqlengine\connection.py in execute 

         raise CQLEngineException(unicode(ex)) 

     ... 
    ▶ Local vars 

모델 :

class User(Model): 
    id = columns.Text(primary_key=True) 
    name = columns.Text() 
    username = columns.Text() 
    password = columns.Text() 

조회수 이 오류입니다

<!DOCTYPE html> 
<html> 
<head> 
    <title>Registration</title> 
</head> 
<body> 
    <form action="/registered/" method="get"> 
    <ul> 
     <li> 
      <label>ID</label> 
      <input ty="text" name="txtID"> 
     </li> 
     <li> 
      <label>Username</label> 
      <input ty="text" name="txtName"> 
     </li> 
     <li> 
      <label>Username</label> 
      <input ty="text" name="txtUsername"> 
     </li> 
     <li> 
      <label>Password</label> 
      <input ty="text" name="txtPassword"> 
     </li> 
     <li> 
      <label></label> 
      <input type="submit" value="Register"> 
     </li> 
    </ul> 
    </form> 
</body> 
</html> 

답변

1

cassandra의 사용자 테이블 스키마와 사용자 모델간에 불일치가있는 것 같습니다. 어떤 버전의 cassandra와 cqlengine을 사용하고 있습니까? cqlsh로 건너 뛰어 사용자 테이블이있는 키 공간을 설명하고 출력을 게시 할 수 있습니까?

또한이 테스트 용 앱인지는 잘 모르겠지만 클라이언트가 제공 한 ID를 가진 사용자 행을 삽입하는 것은 심각한 보안 문제입니다. 다른 사용자의 ID로 register_user 경로를 누르기 만하면 다른 사용자의 계정을 쉽게 제어 할 수 있습니다. 비밀번호를 해싱해야하며 일반 텍스트로 저장하지 않아야합니다.

관련 문제