Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα στο φόρουμ.

 

Θέλω να φτιάξω μια ιστοσελίδα με χρήση Python, beautifulsoup καθώς και με βάση δεδομένων SQLite. Ειμαι εντελώς πρωτάρης στο θεμα και θα χρειαστώ την βοήθεια σας. Έχουμε μια ιστοσελίδα η οποια περιέχει το προγραμμα σπουδών ενός πανεπιστιμιου, και θα θέλαμε να φτιάξουμε μια άλλη που θα αντλυει δεδομένα απο την αρχική ιστοσελίδα και θελουμε να επιλέγει ο χρήστης την σχολή του πανεπιστιμιου και να του βγάζει το προγραμμα σπουδών κάποιου εξαμήνου. Αυτο που εχω κανει μεχρι στιγμής ειναι να κάνω αυτο που θέλω ακριβώς με ενα προγραμμα στην python και μου τυπώνει το προγραμμα αναλυτικά. Ομως πως θα μπορέσω αυτο να το συνδέσω με το cgi την βάση δεδομένων ετσι ώστε να γίνει μια ιστοσελίδα; Χρησιμοποιώ ως server τον xampp και κατάφερα μεχρι στιγμής να φτιάξω μια ιστοσελίδα στο localhost που να λεει hello world. Εάν έχετε καποιο βίντεο η καποιο σχετικό Λίνκ που θα βοηθήσει θα ήταν καλο μιας και εχω ψάξει όλο το γκοοκλ και δεν μπορω να κάνω αυτο που θέλω.

Δημοσ.

Ακολούθα κανένα tutorial για django. Επίσης θα σου χρειαστουν οι libs-modules sessions, requests και  sqlalchemy. Γενικά αν ξέρεις απο αντικειμενοστρέφεια θα σου λύσει τα χέρια η python και τα modules/βιβλιοθήκες της.

Δημοσ.

Στο θέμα του cgi

 

Τροποποιείς το httpd.conf  του apache σύμφωνα με το

http://httpd.apache.org/docs/2.4/en/howto/cgi.html

 

Στο ίδιο αρχείο βάλε κάτω κάτω 

SetEnv PYTHONIOENCODING utf-8 για να είσαι καλυμένος με τα ελληνικά

 

To python script πρέπει να είναι στο φάκελο cgi-bin

Στο script πρώτη γραμμή πρέπει να είναι το path του python.exe πχ

#!C:\Python34\python.exe

 

Θα κάνεις επίσης

import codecs

 

Το πρώτο print πρέπει να είναι:

print('Content-Type: text/html')

 

Η συνολική μετά παραγωγή των prints πρέπει να είναι η παραγόμενη ιστοσελίδα

H μεταβλητές του κειμένου πρέπει να είναι σε {}

και πρίν τυπώσεις το κομμάτι που τις περιέχει πρέπει

να κάνεις encode

Μία "πλήρη" ιστοσελίδα πχ όπως παρακάτω

#!C:\Python34\python.exe
import codecs
print('Content-Type: text/html')
import sys
b=sys.getdefaultencoding()
a=15

header='''
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CGI test script</title>
</head>
'''

body='''
<body>
<h1>Μεταβλητή cgi {cgi}</h1>
<p>Άλλη μεταβλητή {valus} </p>
</body>
</html>
'''

print(header)
body=codecs.encode( body.format(cgi=b, valus=a))
print(body)
Δημοσ.

 

Στο θέμα του cgi

 

Τροποποιείς το httpd.conf  του apache σύμφωνα με το

http://httpd.apache.org/docs/2.4/en/howto/cgi.html

 

Στο ίδιο αρχείο βάλε κάτω κάτω 

SetEnv PYTHONIOENCODING utf-8 για να είσαι καλυμένος με τα ελληνικά

 

To python script πρέπει να είναι στο φάκελο cgi-bin

Στο script πρώτη γραμμή πρέπει να είναι το path του python.exe πχ

#!C:\Python34\python.exe

 

Θα κάνεις επίσης

import codecs

 

Το πρώτο print πρέπει να είναι:

print('Content-Type: text/html')

 

Η συνολική μετά παραγωγή των prints πρέπει να είναι η παραγόμενη ιστοσελίδα

H μεταβλητές του κειμένου πρέπει να είναι σε {}

 

Μία "πλήρη" ιστοσελίδα πχ όπως παρακάτω

#!C:\Python34\python.exe

print('Content-Type: text/html')
import sys
b=sys.getdefaultencoding()
a=15

header='''
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CGI test script</title>
</head>
'''

body='''
<body>
<h1>Μεταβλητή cgi {cgi}</h1>
<p>Άλλη μεταβλητή {valus} </p>
</body>
</html>
'''

print(header)
body=body.format(cgi=b, valus=a)
print(body)

Το encode τελικά δεν χρειάζεται.

Δημοσ.

@taslikos

Όπως σου είπε και ο mad-proffessor, άσε τα cgi στην άκρη και ξεκίνα να διαβάζεις django. Θα χρειαστεί να μάθεις περισσότερα πράγματα, αλλά θα σου είναι σίγουρα πιο χρήσιμα.

 

@mad-proffessor

 

Επίσης θα σου χρειαστουν οι libs-modules sessions, requests και  sqlalchemy.

Ποια είναι η βιβλιοθήκη sessions;

  • Like 1
Δημοσ.

 

@taslikos

Όπως σου είπε και ο mad-proffessor, άσε τα cgi στην άκρη και ξεκίνα να διαβάζεις django. Θα χρειαστεί να μάθεις περισσότερα πράγματα, αλλά θα σου είναι σίγουρα πιο χρήσιμα.

 

@mad-proffessor

Ποια είναι η βιβλιοθήκη sessions;

Ναι λάθος μου για το middleware μιλούσα:

https://docs.djangoproject.com/en/1.9/topics/http/sessions/

Δημοσ. (επεξεργασμένο)

Δεν είπα ότι είσαι λάθος, απλά επειδή δεν παρακολουθώ τόσο ενεργά το οικοσύστημα τελευταία, είπα μήπως βγήκε κάποια νέα βιβλιοθήκη την οποία δεν ήξερα, καθώς και το «sessions» δεν είναι ακριβώς google friendly για όνομα βιβλιοθήκης.

 

(Θα μου πεις ούτε το requests είναι, αλλά αυτό έχει χρόνια που δουλεύει το SEO του)

Επεξ/σία από pmav99
  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...