2012-02-22 2 views
2

Google Appengine Я работаю над проектом Google App Engine, но я не вижу своего css. Код просто выглядит просто. Мои стили не видны на странице html.Google App engine не может видеть мои файлы CSS

Мой app.yaml файл, как показано ниже:

application: paymentgateway 
version: 1 
runtime: python 
api_version: 1 

handlers: 

- url: .* 
    script: main.py 

- url: /css 
    static_dir: css 

Мой файл main.py, как показано ниже:

from google.appengine.ext import webapp 
from google.appengine.ext.webapp import util 
from google.appengine.ext.webapp import template 



class MainHandler(webapp.RequestHandler): 
    def get(self): 
     self.response.out.write(template.render('account_type.html','')) 


def main(): 
    application = webapp.WSGIApplication([('/', MainHandler)], 
            debug=True) 
    util.run_wsgi_app(application) 


if __name__ == '__main__': 
    main() 

account_type.html является, как показано ниже:

<html> 
<head> 
<title></title> 
<link href="css/styles.css" rel="stylesheet" type="text/css"/> 
</head> 
<body> 
<div id="formwrap"> 
<div id="form"> 
<fieldset><legend><h3>Select Country and Account Type</h3></legend> 
<form action="registration_form.html" method="post"> 
<div class="row"> 
<div class="label">Select Country </div><!--end .label--> 
<div class="input"> 
<select name="country" class="detail" > 
<option>--select country--</option> 
<option>Uganda</option> 
<option>Kenya</option> 
<option>Tanzania</option> 
<option>Rwanda</option> 
</select> 
</div><!--end .input--> 
</div><!--end .row--> 

<div class="row"> 
<div class="label">Account Types</div><!--end .label--> 
<div class="input"> 
<input type="radio" name="account" class=""/> 
</div><!--end .input--> 
</div><!--end .row--> 

<div id="submit"> 
<input id="submit" type="submit" name="submit" value="NEXT"> 
</div><!-- end #submit --> 
</form> 
</fieldset> 
</div><!--end #form--> 
</div><!--end #formwrap--> 
</body> 
</html> 

У меня есть мой css в папке css.

styles.css является, как показано ниже:

body { 
background:#E9E9E9; 
} 


#formWrap { 
    width:720px; 
    margin-top:30px; 
    margin-left:30px; 
    background:#FFF; 
    border:1px solid #f1f1f1; 
    -moz-border-radius:20px; 
    -moz-box-shadow:2px 2px 5px #999; 
    -webkit-border-radius:20px; 
    -webkit-box-shadow:2px 2px 5px #999; 
    padding:16px 10px 40px; 

} 
#formWrap #form { 
border:0px solid #EEE; 
width:720px; 


} 
#form .row { 

border:0; 
display:block; 
line-height:38px; 
overflow:auto; 
padding:24px 0px; 
width:100%; 
} 
#form .row .label { 
font-size:16px; 
font-weight:bold; 
font-family:Arial, Helvetica, sans-serif; 
width:180px; 
text-align:right; 
float:left; 
padding-right:10px; 
margin-right:10px; 



} 
#form.row .input { 
float:left; 
margin-right:10px; 
width:auto; 
} 

.detail{ 
width:260px; 
font-family:Arial, Helvetica, sans-serif; 
font-size:20px; 
padding:7px 8px; 
margin:0; 
display:block; 
border-radius: 5px 5px 5px 5px; 
    background:#E9E9E9; 
border:1px solid #CCC; 
} 
.detail:focus{ 
background-color:#FFF; 
border: 1px solid #999; 
outline: none; 

} 

.message{ 
width:400px; 
max-width:400px; 
height:280px; 
overflow:auto; 
font-family:Arial, Helvetica, sans-serif; 
font-size:20px; 
padding:7px 8px; 
line-height:1em; 
margin:0; 
display:block; 

} 

#form .row .context { 
color:#000; 
font-size:16px; 
line-height:14px; 
font-family:Arial, Helvetica, sans-serif; 
margin-left:5px; 

} 
#formWrap #form #submit { 
font-family:Arial, Helvetica, sans-serif; 
margin-top:25px; 
margin-left:120px; 
color:#000; 
font-size:16px; 
text-shadow:1px 1px 1px #999; 
padding:10px; 
width:150px; 
height:40px; 

} 
span.error{ 
color:#000; 
display:block; 
font-family:Arial, Helvetica, sans-serif; 
background-image:url(file:///C|/wamp/www/ContactForm/images/x.png); 
background-repeat:no-repeat; 
background-position:left 6px; 
padding-left:25px; 


} 

Так что, когда я запустить проект с Python Google AppEngine, я не могу видеть мои стили на этой странице.

В чем проблема?

+1

Что говорит ваш браузер? он пытается загрузить css? вы получаете 404? это не то, что вы считаете нужным? – Thilo

+0

Это также происходит на сервере разработки или только в производстве? Можете ли вы поделиться URL-адресом, в котором вы развернули приложение? – proppy

+0

Это может быть старый вопрос, но я использовал это [решение] [1] [1]: http://stackoverflow.com/a/31591467/1665739 – smoothBlue

ответ

16

Из документов:

URL handler path patterns are tested in the order they appear in app.yaml 

Проблема с вашим app.yaml что все URLs отображаются в main.py, так что ваш статический обработчик никогда не достигается.

Так что ваш app.yaml должен выглядеть следующим образом:

application: paymentgateway 
version: 1 
runtime: python 
api_version: 1 

handlers: 

- url: /css 
    static_dir: css 

- url: .* 
    script: main.py 

Обратите внимание, что здесь CSS статический обработчик перечисленных перед обработчика приложений.

0

Если вы видите эту проблему только при использовании хрома или сафари, вы можете столкнуться с той же проблемой, с которой я столкнулся, что является ошибкой в ​​AppEngine, возвращающей null в качестве типа содержимого для файлов css. Модернизация до 1.6.2.1 исправила мою проблему.

Смежные вопросы