2014-03-13 95 views
2

我在Raspberry Pi上的cherrypy上託管測試網頁。這裏是我的代碼python文件:網頁無法顯示我的css

#!/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) 

我已經刪除了大部分html內容,並試圖只顯示標題徽標。我擁有我的static文件夾中的所有內容,並且我非常確定那些css文件可以在其他頁面上使用。但爲什麼頁面不顯示徽標或任何CSS內容?

+0

這聽起來像你的文件路徑不正確。對文件的請求是否返回404?所有的文件都是靜態的,包括頁面本身?那麼你不需要路徑中的「靜態/」。 – Mathias

+0

這個文件和'static'文件夾在同一個目錄下,所以我假設我必須把'static \' – yvonnezoe

+0

嘗試並移除「static /」。它假定你的文件在一個名爲static的子目錄中,相對於頁面。 – Mathias

回答

1

解決

這與CherryPy的配置文件做。 tutorial.conf必須修改如下:

[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"