2013-05-29 43 views
6

Tôi đang sử dụng django-allauth với Django 1.5.1 và tôi có một vài câu hỏi khi cài đặt nó lên:cấu hình django-allauth nghi ngờ

1. Cấu hình urls.py

Các tài liệu nói rằng bạn phải thêm dòng sau vào urls.py file:

urlpatterns = patterns('', 
    ... 
    (r'^accounts/', include('allauth.urls')), 
    ... 
) 

vấn đề là tôi đã có một ứng dụng tùy chỉnh được gọi accounts và tôi đã sử dụng các followin g Mẫu URL:

(r'^accounts/', include('accounts.urls')), 

Vì vậy, tôi có xung đột đặt tên tại đây với URL regex accounts/. Câu hỏi của tôi là: tôi có thể đổi tên mẫu URL allauth thành (r'^auth/', include('allauth.urls')) mà không gặp sự cố hoặc không an toàn để làm như vậy và tốt hơn là đổi tên URL của riêng tôi thành một cái gì đó như (r'^users/', include('users.urls')) (và đổi tên ứng dụng tài khoản của tôi thành người dùng)).

2. mẫu Customize allauth mặc định

cách thích hợp để tùy chỉnh các mẫu mặc định cho đăng nhập, vv là gì? Tôi nghĩ rằng việc sửa đổi thư viện trực tiếp không phải là cách tiếp cận tốt nhất. Tôi đoán nó nên được thực hiện thông qua templates thư mục bằng cách sử dụng một số hệ thống phân cấp thư mục cụ thể. Ngoài ra, tôi không biết nếu một số loại tệp base.html phải được cung cấp để mở rộng từ khi ghi đè các mẫu này hoặc base.html của trang web mà tất cả các trang mở rộng có thể được sử dụng mà không có sự cố. Bạn có thể minh họa cho tôi điều này không?

3. Hình thức đăng nhập quản trị hiển thị thông tin đăng nhập và thoát ra lần đầu tiên nó được truy cập

Khi tôi truy cập vào bảng quản trị sau khi một số thông tin đăng nhập và thoát ra lịch sử xuất hiện, nhưng nếu tôi làm mới trang sau đó nó biến mất. Tôi nghĩ rằng đây phải là một cái gì đó liên quan với các thông điệp django:

admin login

4. Thiết SOCIALACCOUNT_PROVIDERS

là cài đặt từ điển gọi SOCIALACCOUNT_PROVIDERS tùy chọn hoặc nó phải được thiết lập?

5. Mật khẩu được tính như thế nào khi người dùng đăng nhập bằng ứng dụng của bên thứ 3?

Khi người dùng được tạo, mật khẩu đó có mật khẩu, nhưng được tính như thế nào? Và ... nó có hữu ích hay chỉ là một trình giữ chỗ cho trường bắt buộc này? Người dùng có thể sử dụng nó để đăng nhập cục bộ không?

Cảm ơn!

Trả lời

14

đối với 1 Với):

  • Không có va chạm càng lâu càng không có sự chồng chéo trong các mẫu URL phù hợp hoàn toàn. Ví dụ: nếu ứng dụng tài khoản của bạn có kết quả phù hợp cho "/ accounts/login /" thì thực sự có một xung đột khi allauth đang bắn cho URL đó.Tuy nhiên, nếu ứng dụng tài khoản của bạn chỉ khớp với các URL khác với/accounts/as prefix thì bạn vẫn ổn.

  • Nếu bạn nhấn mạnh, bạn thực sự có thể đặt URL allauth bên dưới một đường dẫn khác. allauth sử dụng đảo ngược URL dựa trên tên, do đó, tiền tố đường dẫn mới sẽ được chọn tự động.

Đối với 2):

  • Không có gì đặc biệt về allauth mẫu là. Bạn có thể ghi đè lên chúng giống như bạn làm cho bất kỳ ứng dụng Django nào khác.

  • Hãy xem ứng dụng mẫu. Nó có cả phần ghi đè Bootstrap và mẫu thống nhất. Chúng có thể được bật bằng cách bỏ ghi chú dòng này: https://github.com/pennersr/django-allauth/blob/901485557d4ddee30fed920f2159cdf499c39e1c/example/example/settings.py#L126

  • Tất cả mẫu allauth kế thừa từ mẫu cơ sở, được gọi là base.html. Tôi hy vọng rằng dự án của bạn cũng có một mẫu cơ sở. Hoặc là ghi đè lên base.html với bạn, hoặc, ghi đè base.html với một mẫu mà kéo dài từ yourbase.html

3): allauth sử dụng các thông điệp khuôn khổ Django. Xem: https://docs.djangoproject.com/en/dev/ref/contrib/messages/#expiration-of-messages - nếu bạn không lặp qua các tin nhắn để hiển thị chúng, chúng sẽ không hết hạn. Vì vậy, rõ ràng bạn không hiển thị các tin nhắn trong các mẫu của bạn. Vì vậy, họ heap cho đến quản trị xuất hiện mà làm cho (và xóa) tất cả các thư thu thập cho đến nay ...

4) Tùy chọn

5) Không có thiết lập mật khẩu, ý nghĩa, người dùng có thể chỉ đăng nhập bằng tài khoản của bên thứ 3 cho đến khi anh ta thực sự đặt mật khẩu (/ accounts/password/set /).

+0

Cảm ơn @pennersr vì phản hồi nhanh của bạn! OK cho 1) Tôi sẽ không gặp vấn đề gì ở đây. Về 2) Tôi đã thiết lập các mẫu trong dự án mẫu nhưng tôi có một nghi ngờ: 'connections.html' và' signup.html' đều được kế thừa từ 'socialaccount/base.html', nhưng tôi không thể thấy mẫu này trong tài khoản xã hội tôi thấy nó trong tài khoản. Tôi không hiểu điều này. Hơn nữa, tôi đã cập nhật câu hỏi của mình với một số nghi ngờ hơn. Bạn có thể cho tôi một bàn tay với họ? Và cảm ơn bạn đã chia sẻ thư viện này với chúng tôi! :) – Caumons

+0

Dự án ví dụ ghi đè một số mẫu, không phải tất cả. 'socialaccount/base.html' không được ghi đè lên, do đó bạn sẽ không tìm thấy nó ở đó. Btw, câu trả lời được cập nhật để phản ánh câu hỏi mới ... – pennersr

+0

Xin chào @pennersr và cảm ơn một lần nữa! OK cho 3, 4 và 5. Về 2 (mẫu): Tôi đã thiết lập nó và nó hoạt động nhưng tôi không hiểu tại sao 'connections.html' và' signup.html' hiển thị đúng nếu chúng mở rộng từ mẫu "không tồn tại" ('socialaccount/base.html'). Cái nào là "mặc định" cho cái này? Tôi đã cập nhật 'account/base.html' để mở rộng cơ sở tùy chỉnh' layout.hml' và cập nhật cơ sở dữ liệu này với các khối được định nghĩa trong các mẫu khởi động allauth. Cảm ơn một lần nữa! :) – Caumons

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