Reputation: 7427
I am hosting a test web page on cherrypy on Raspberry Pi. Here is my code for python file:
#!/usr/bin/python
import cherrypy
class Control:
@cherrypy.expose
def index(self):
return '''<!DOCTYPE html>
<html>
<head>
<title>RaspiCare</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="static/jquery.mobile-1.4.0.min.css">
<link rel="stylesheet" href="static/style.css">
<script src="static/jquery-1.10.2.min.js"></script>
<script src="static/jquery.mobile-1.4.0.min.js"></script>
</head>
<body style="overflow: scroll;overflow-x:hidden;">
<div data-role="page" data-theme="a" id="page1">
<div data-role="header">
<img src="static/raspicare_logo.png">
</div><!-- /header -->
</div>
</body>
</html>
'''
@cherrypy.expose
def turnCamera (**data):
import pigpio
import time
# import serial
# def servo_control(command):
# serialport= serial.Serial ("/dev/ttyACM0", 9600, timeout=0.5)
# serialport.write(command)
# return serialport.readlines(1)
servos=4
key = data['direction']
if key=="left":
servostatus = "left"
print servostatus
m=1500
else:
m=1000
## m=1500
## while (m >= 500 and m <= 2500):
## if (key =="left"):
## print "left"
## m=m+100
## elif (key =="right"):
## m=m-100
pigpio.start()
pigpio.set_servo_pulsewidth(servos, m)
servostat= "Servo {} {} {} micro pulses".format(servos[0], key, m)
print servostat
time.sleep(1)
pigpio.stop()
return servostat
#shutdown server
@cherrypy.expose
def shutdown(self):
cherrypy.engine.exit()
import os.path
tutconf = os.path.join(os.path.dirname(__file__), 'tutorial.conf')
if __name__ == '__main__':
# CherryPy always starts with app.root when trying to map request URIs
# to objects, so we need to mount a request handler root. A request
# to '/' will be mapped to Comfort().index().
cherrypy.quickstart(Control(), config=tutconf)
else:
# This branch is for the test suite; you can ignore it.
cherrypy.tree.mount(Control(), config=tutconf)
I have removed most of the html content and trying just to display the header logo. I have everything in my static
folder and I am very sure those css files work on other page before. But why the page does not show the logo or any CSS content?
Upvotes: 2
Views: 99
Reputation: 7427
SOLVED
This has to do with cherrypy's configuration file.
The tutorial.conf
has to be modified as follow:
[global]
server.socket_host = "0.0.0.0"
server.socket_port = 8080
server.thread_pool = 10
[/]
tools.staticdir.root = "/directory to the static folder"
[/static]
tools.staticdir.on = True
tools.staticdir.dir = "static"
Upvotes: 1