2012-04-30 36 views
12

Có vẻ như không đủ nhỏ nhưng tôi không thể tìm thấy câu trả lời hợp lệ cho vấn đề này.Ánh xạ các URL khác nhau cho cùng một chế độ xem

Giả sử tôi có hai liên kết '/' và '/ home' khác nhau và tôi muốn chúng trỏ đến cùng một chế độ xem. (Điều này có nghĩa là người dùng có mở xyz.com hay xyz.com/home, cùng một trang sẽ được hiển thị).

Trong kim tự tháp tôi đã cố gắng

config.add_route('home','/') 
config.add_route('home','home/') 

Nhưng nó làm tăng ngoại lệ sau

pyramid.exceptions.ConfigurationConflictError: Conflicting configuration actions 
    For: ('route', 'home') 

Làm thế nào tôi nên thực sự thực hiện điều này?

Trả lời

21

Bạn cần phải thêm chúng dưới tên của tuyến đường khác nhau (họ phải là duy nhất cho mỗi ứng dụng):

config.add_route('home','/') 
config.add_route('home1','home/') 

và sau đó cấu hình quan điểm tương tự cho cả hai:

config.add_view(yourview, route_name='home') 
config.add_view(yourview, route_name='home1') 

hoặc, trong trường hợp sử dụng trang trí @view_config, trang trí đôi phương pháp của bạn:

@view_config(route_name='home') 
@view_config(route_name='home1') 
def your_method(request): 
    ..... 
Các vấn đề liên quan