2013-10-11 26 views
5

Tôi mới sử dụng Python và Flask. Tôi có một thư mục mẫu trong thư mục gốc của ứng dụng của tôi mà có hai tập tin.Trả lại mẫu được hiển thị bằng các trình đơn Flask-Restful HTML trong trình duyệt

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
    <title>{% block title %}{% endblock title %}</title> 

    <link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/united/bootstrap.min.css" rel="stylesheet"> 
    <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/ bootstrap-responsive.min.css" rel="stylesheet"> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> 
</head> 
<body> 
    <div id="main"> 
    <div class="utility-nav navbar navbar-fixed-top"> 
    <div class="navbar-inner"> 
    <div class="container"> 
     {# Navbar goes here. #} 
    </div> 
    </div> 
    </div> 
    <div class="content container"> 
    {% block main %}{% endblock main %} 
    </div> 
    </div> 
</body> 
</html> 

{% extends 'base.html' %} 
{% block title %}Page Title{% endblock title %} 
{% block main %} 
    <h2>This is a child template.</h2> 
{% endblock main %} 

Và sau đó tôi đã sau chức năng

from flask.ext.restful import Resource,request,reqparse 
from app.business.login import Login 
from app.business.appointments import Appointments 
from app.models.models import User, Address,Appointment 
from flask import render_template 
    class AppointmentController(Resource): 
     def __init__(self): 
      pass 
     def get(self): 
     return render_template('index.html') 

vì vậy khi tôi khởi động server lên và nói http://0.0.0.0:5000/appointment tôi nhận được

"<!DOCTYPE html>\n <html lang=\"en\">\n <head>\n  <title>Page Title</title>\n \n  <link href=\"http://netdna.bootstrapcdn.com/bootswatch/2.3.2/united/bootstrap.min.css\" rel=\"stylesheet\">\n  <link href=\"http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/ bootstrap-responsive.min.css\" rel=\"stylesheet\">\n  <script src=\"http://code.jquery.com/jquery-1.9.1.min.js\"></script>\n  <script src=\"http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js\"></script>\n</head>\n<body>\n <div id=\"main\">\n <div class=\"utility-nav navbar navbar-fixed-top\">\n <div class=\"navbar-inner\">\n <div class=\"container\">\n  \n </div>\n </div>\n </div>\n <div class=\"content container\">\n \n\t<h2>This is a child template.</h2>\n\n </div>\n </div>\n</body>\n</html>" 

Nghĩa là mẫu ar e làm việc nhưng trình duyệt đang xử lý phản hồi dưới dạng Chuỗi chứ không phải html. Tôi đang làm gì sai.

Trả lời

11

Tôi đã sửa đổi cách nhận phù hợp. Đặt loại nội dung đã làm các trick.

class AppointmentController(Resource): 
    def __init__(self): 
     pass 
    def get(self): 
     headers = {'Content-Type': 'text/html'} 
     return make_response(render_template('index.html'),200,headers) 
+0

Phần mở rộng tệp có phải là '.html' không? – tbicr

Các vấn đề liên quan