Загрузка изображения профиля для Django не работает - PullRequest
1 голос
/ 12 марта 2020

Использование python 3 и Django 3

Когда я пытаюсь загрузить изображение, появляется эта ошибка: «Такие данные уже существуют».

Изображение копируется в Static / media / ..... но запись не добавляется в таблицу mysql.

Я только что добавил код загрузки изображения поверх него. До добавления кода загрузки изображения проблем не было.

Кто-нибудь знает, как это исправить? Помощь очень ценится.

i Установите MEDIA DIR в файле setting.py

Это ошибка, которую я получаю

ProgrammingError at /workerreg/

(1064, "You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 
''image')values('Ernakulam','Alangad','sargehy','9788541255',
 '41','eagge','slfdgk' at line 1")

Request Method:     POST
Request URL:    http://127.0.0.1:8000/workerreg/
Django Version:     3.0.3
Exception Type:     ProgrammingError
Exception Value:    

(1064, "You have an error in your SQL syntax; check the manual 
that corresponds to your MySQL server version for the right syntax to use  
near     
''image')values('Ernakulam','Alangad','sargehy','9788541255','41','eagge',
'slfdgk' at line 1")

Exception Location:     C:\Users\Kevin\AppData\Local\Programs\Pytho
\Python38\lib\site-packages\pymysql\err.py in raise_mysql_exception, line 
 109
Python Executable:  C:\Users\Kevin\AppData\Local\Programs\Python\Python38   
\python.exe
Python Version:     3.8.1
Python Path:    

  ['C:\\Users\\Kevin\\Desktop\\BCA MAIN PROJECT\\Baby Care',
  'C:\\Users\\Kevin\\AppData\\Local\\Programs\\Python\\Python38 
  \\python38.zip',
  'C:\\Users\\Kevin\\AppData\\Local\\Programs\\Python\\Python38\\DLLs',
  'C:\\Users\\Kevin\\AppData\\Local\\Programs\\Python\\Python38\\lib',
  'C:\\Users\\Kevin\\AppData\\Local\\Programs\\Python\\Python38',
   'C:\\Users\\Kevin\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-
  packages']

   Server time:     Thu, 12 Mar 2020 09:04:57 +0000

Views.py

def workerreg(request):

if request.POST:
    district=request.POST.get("district")
    panchayath=request.POST.get("panchayathlist")
    wnamee=request.POST.get("wnamee")
    wphnu=request.POST.get("wphnu")
    wan=request.POST.get("wan")
    waddress=request.POST.get("waddress")
    wmail=request.POST.get("wmail")
    qul=request.POST.get("qul")
    uploaded_file_url=""
    if request.FILES.get("image"):
        myfile=request.FILES.get("image")
        fs=FileSystemStorage()
        filename=fs.save(myfile.name , myfile)
        uploaded_file_url = fs.url(filename)


    worker_exists="select count(*) from worker_reg where district='"+str(district)+"' and panchayath='"+str(panchayath)+"' and ward_no='"+str(wan)+"' or phone_no='"+str(wphnu)+"'"
    print("-------"+worker_exists+"-------")
    c.execute(worker_exists)
    exisist_data=c.fetchone()
    print(exisist_data)
    try:
        if exisist_data[0]>0:
            message="ashaworker already exisist"
            return render(request,"workerreg.html",{"message":message})
        else:

            random_num=random.randrange(1000,10000,2)
            print("--------password---- "+str(random_num))
            password="worker"+str(random_num)
            print(password)
            worker_insert="insert into worker_reg(`district`,`panchayath`,`worker_name`,`phone_no`,`ward_no`,`address`,`email`,`qualification`,'image')values('"+str(district)+"','"+str(panchayath)+"','"+str(wnamee)+"','"+str(wphnu)+"','"+str(wan)+"','"+str(waddress)+"','"+str(wmail)+"','"+str(qul)+"','"+str(uploaded_file_url)+"')"
            worker_login="insert into login(userid,username,password,status,usertype)values((select max(wrkr_id) from worker_reg),'"+str(wphnu)+"','"+str(password)+"','1','worker')"
            c.execute(worker_insert)
            conn.commit()
            c.execute(worker_login)
            conn.commit()
            msg="Congratulations!!! Government added you as ashaworker in the "+panchayath+" panchayath for ward number :"+wan+" Username :"+wphnu+" Password: "+password
            sendsms(wphnu,msg)
            message="Added Successfully"
            return render(request,"workerreg.html",{"message":message})
    except:
        message="Such details already exisist"
        return render(request,"workerreg.html",{"message":message})

return render(request,'workerreg.html')

загрузка. html

{%if message%}
    <script>

    alert('{{message}}');

    </script>
    {%endif%}

        <form action="#" method="post"  enctype="multipart/form-data">
                {% csrf_token %}



          <label style='position: relative; top: 10px;' for="file-upload" class="custom-file-upload2">
      Select Photo
       </label>        
      <input type="file" id="file-upload" name="image" required=""/> <br/>    <br/><br/>



        <select name="district" id="district">
                                        <option>--Choose District--</option>
                                     <option>Kasargode</option>
                                     <option>Kannur</option>
                                     <option>Vayanad</option>
                                     <option>Malappuram</option>
                                     <option>Kottayam</option>
                                     <option>Kozhikod</option>
                                     <option>Ernakulam</option>
                                     <option>Pathanamthitta</option>
                                     <option>Alappuzha</option>
                                     <option>Idukki</option>
                                     <option>Palakkad</option>
                                     <option>Thrissur</option>
                                     <option>Kollam</option>
                                     <option>Thiruvananthapuram</option>
                 </select><br><br>


        <select  id="panchayathlist" name="panchayathlist">
            <option>--Choose Panchayath--</option>      

                 </select><br><br>
    <input placeholder=" Worker Name" pattern="[A-Za-z]{1}[A-Za-z\s]{2,32}"  name="wnamee" type="text" required=""><br><br>
    <input placeholder="Phone number" name="wphnu" type="text" pattern="[789][0-9]{9}" required=""><br><br>
    <input placeholder="Ward number" name="wan" type="number" maxlength="3" required=""><br><br>
    <textarea placeholder="Address of worker" name="waddress" style="width: 50%;"></textarea><br><br>
    <input placeholder="Email" name="wmail" type="email" required=""><br><br>
    <input placeholder="Qualification" pattern="[A-Za-z]{1}[A-Za-z\s]{2,32}" name="qul" type="text" required=""><br><br>




    <input type="submit" value="Register"><br><br>

1 Ответ

0 голосов
/ 12 марта 2020

Решено.

Это был вопрос апострофа

Я написал это

'image'

Фактическое исправление было

`image`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...