2009-04-23 32 views
7

Tôi đã đặt thư mục trang web được tạo bởi django-admin startproject trong điều khiển phiên bản (Mercurial). Giả sử trang web được gọi là frobnicator.Cách đặt giá trị đúng cho cài đặt ROOT_URLCONF Django ở các chi nhánh khác nhau

Bây giờ tôi muốn thực hiện một số refactoring nghiêm trọng, vì vậy tôi sao chép trang web lệnh

sử dụng
hg clone frobnicator frobnicator-refactoring` 

nhưng ROOT_URLCONF trong settings.py vẫn nói frobnicator.urls.

Có cách nào tốt hơn để khắc phục sự cố này thay vì di chuyển trang web trong thư mục trình bao bọc và lưu thư mục này trong điều khiển phiên bản (để duy trì cùng tên trang web sau khi phân nhánh) hay sử dụng các nhánh cục bộ không?

+0

Đây là vấn đề? Bạn luôn phải cập nhật các giá trị chuỗi trong cài đặt của mình. Tại sao cài đặt này lại khác biệt? Những gì "tốt hơn" là bạn tưởng tượng? Chuỗi nào đang được sửa đổi tự động? –

+2

Không, nhưng có thể một số cách để tính giá trị động. Tại sao nó không được tính theo mặc định? –

+0

"được tính theo mặc định"? Bởi lệnh nhân bản của Mercurial? Làm thế nào Mercurial sẽ biết (a) Python, (b) Django và (c) mà bạn muốn nó thay đổi, không được sao chép như nó? –

Trả lời

13

Chỉ cần xóa biểu mẫu tên dự án ROOT_URLCONF định nghĩa - tùy chọn này là tùy chọn. Sau đó, bạn có thể có thư mục dự án với các tên khác nhau.

+0

Có, nó hoạt động thực sự! Tôi nên thử điều này trước khi đăng câu hỏi! –

+1

Có, tôi chưa bao giờ hiểu lý do tại sao các tài liệu Django dường như khuyên bạn nên hardcoding tên của thư mục dự án của bạn trong cài đặt của bạn, khi nó chỉ đơn giản là không cần thiết. –

+0

Carl: bởi vì một khi bạn tốt nghiệp qua các dự án rất đơn giản/giới thiệu, không chắc bạn sẽ có một thứ như một "thư mục dự án", hoặc các URL bên trong nó. –

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