yvonnezoe
yvonnezoe

Reputation: 7427

webpage not displaying my css

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

Answers (1)

yvonnezoe
yvonnezoe

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

Related Questions