Html css django
Bây giờ chúng tôi đã sẵn sàng để thêm mã hiển thị trang hoàn chỉnh đầu tiên của chúng tôi - một trang chủ cho trang web locall Thư viện. Trang chủ sẽ hiển thị số lượng hồ sơ chúng tôi có cho từng loại mô hình và cung cấp các liên kết điều hướng thanh bên cạnh các trang khác của chúng tôi. Trên đường đi, chúng tôi sẽ có kinh nghiệm thực tế khi viết các bản đồ và chế độ xem URL cơ bản, nhận hồ sơ từ cơ sở dữ liệu và sử dụng các mẫu Show Nội dung chính Hiển thị
tổng quanSau khi chúng tôi xác định các mô hình của mình và tạo một số hồ sơ thư viện ban đầu để làm việc, đã đến lúc viết mã trình bày thông tin đó cho người dùng. Điều đầu tiên chúng tôi cần làm là xác định bất kỳ thông tin nào chúng tôi muốn hiển thị trong các trang của mình và xác định các URL để sử dụng để trả về các tài nguyên đó. Sau đó, chúng tôi sẽ tạo URL bản đồ, chế độ xem và URL mẫu để hiển thị các trang Sơ đồ sau đây mô tả luồng dữ liệu chính và các thành phần cần thiết khi xử lý các yêu cầu và phản hồi HTTP. Như chúng tôi đã triển khai mô hình, các thành phần chính mà chúng tôi sẽ tạo ra là
Như bạn sẽ thấy trong phần tiếp theo, chúng tôi có 5 trang để hiển thị, đây là quá nhiều thông tin để ghi lại trong một bài viết. Do đó, bài viết này sẽ tập trung vào cách thực hiện trang chủ và chúng tôi sẽ trình bày các trang khác trong một bài viết tiếp theo. Điều này sẽ cung cấp cho bạn một sự hiểu biết từ đầu đến cuối cùng tốt về cách những người lập bản đồ, quan điểm và URL mô hình hoạt động trong thực tế. Specify URL resourceVì phiên bản này của Thư viện Locall về cơ bản chỉ đọc cho người dùng cuối, chúng tôi chỉ cần cung cấp một trang đích cho trang web (một trang chủ) và các trang hiển thị danh sách và xem chi tiết cho sách và tác giả Các URL mà chúng tôi sẽ cần cho các trang của chúng tôi là
Ba URL đầu tiên sẽ trả về chỉ mục, danh sách và danh sách tác giả. URL này không mã hóa bất kỳ thông tin bổ sung nào và các truy vấn tìm kiếm tải dữ liệu từ cơ sở dữ liệu sẽ luôn giống nhau. Tuy nhiên, kết quả mà các truy vấn trả về sẽ phụ thuộc vào nội dung của cơ sở dữ liệu Ngược lại, hai URL cuối cùng sẽ hiển thị thông tin chi tiết về một cuốn sách hoặc tác giả có thể. URL này đã mã hóa danh tính của mục để hiển thị (được biểu thị bằng 9 ở trên). Bản đồ URL sẽ trích xuất thông tin đã được mã hóa và chuyển nó sang chế độ xem và chế độ xem sẽ xác định linh hoạt những thông tin nào sẽ nhận được từ cơ sở dữ liệu. Bằng cách mã hóa thông tin trong URL, chúng tôi sẽ sử dụng một URL bộ ánh xạ, chế độ xem và một mẫu để xử lý tất cả các cuốn sách (hoặc tác giả)Lưu ý. Với Django, bạn có thể xây dựng URL của mình tuy nhiên bạn yêu cầu - bạn có thể mã hóa thông tin trong phần thân của URL như được hiển thị ở trên hoặc bao gồm các tham số 05 trong URL, ví dụ 6. Bất kể cách tiếp cận nào bạn sử dụng, các URL nên được giữ sạch sẽ, hợp lý và có thể đọc được, theo khuyến nghị của W3C. Tài liệu Django khuyến nghị mã hóa thông tin trong phần thân của URL để đạt được URL thiết kế tốt hơn. Với Django, bạn có thể xây dựng các URL của mình theo bất kỳ cách nào bạn yêu cầu — bạn có thể mã hóa thông tin trong phần thân của URL như được hiển thị ở trên hoặc bao gồm các tham số 5 trong URL, ví dụ: 6. Cho dù bạn sử dụng phương pháp nào, các URL phải được giữ sạch sẽ, hợp lý và dễ đọc, theo khuyến nghị của W3C. Tài liệu Django khuyến nghị mã hóa thông tin trong phần thân của URL để đạt được thiết kế URL tốt hơnNhư đã đề cập trong tổng quan, phần còn lại của bài viết này mô tả cách xây dựng chỉ mục trang Create page indexTrang đầu tiên chúng tôi sẽ tạo là trang Index ( 5). Trang chỉ mục sẽ bao gồm một số tĩnh HTML, cùng với "đếm" của các bản ghi khác nhau trong cơ sở dữ liệu. Để thực hiện công việc này, chúng tôi sẽ tạo một URL ánh xạ, chế độ xem và một mẫuLưu ý. Điều đáng để chú ý thêm một chút trong phần này. Hầu hết các thông tin cũng được áp dụng cho các trang khác mà chúng tôi sẽ tạo. Thật đáng để chú ý thêm một chút trong phần này. Hầu hết thông tin cũng áp dụng cho các trang khác mà chúng tôi sẽ tạo URL ánh xạKhi chúng tôi tạo trang web Skeleton, chúng tôi đã cập nhật tệp locall Library/urls. py để đảm bảo rằng bất kỳ URL nào bắt đầu với 5 đã được nhận, mô-đun URLConf 9 sẽ xử lý chuỗi con còn lại. thư viện cục bộ/url. py để đảm bảo rằng bất cứ khi nào nhận được một URL bắt đầu bằng ____05, thì mô-đun URLConf 9 sẽ xử lý chuỗi con còn lạiĐoạn mã sau từ locall Library/urls. py bao gồm mô-đun 9. thư viện cục bộ/url. py bao gồm mô-đun 9. 1Lưu ý. Bất kể khi nào Django gặp chức năng đầu vào 21, nó sẽ phân tách chuỗi URL ở các ký tự kết thúc đã được định sẵn và gửi chuỗi con còn lại đến mô-đun URLConf đi kèm để xử lý thêm. Bất cứ khi nào Django gặp hàm nhập 31, nó sẽ tách chuỗi URL ở ký tự kết thúc được chỉ định và gửi chuỗi con còn lại đến mô-đun URLconf đi kèm để xử lý thêmChúng tôi cũng đã tạo một tệp giữ chỗ cho mô-đun URLConf, có tên là /catalog/urls. py. Thêm các dòng sau vào tệp đó. /catalog/url. py. Thêm các dòng sau vào tập tin đó
Giăm bông 32 verify as after
Giăm bông 32 cũng chỉ định tham số 37, đây là định danh duy nhất cho cụ thể ánh xạ URL này. Bạn có thể sử dụng tên để "đảo ngược" bản đồ, tức là để tạo một URL chỉ vào tài nguyên mà bản đồ được thiết kế để xử lý. Ví dụ. chúng tôi có thể sử dụng tên tham số để liên kết đến trang chủ của chúng tôi từ bất kỳ trang nào khác bằng cách bổ sung liên kết sau trong một mẫu.
Lưu ý. Chúng tôi có thể mã hóa phần cứng liên kết như trong 28), nhưng nếu chúng tôi thay đổi mẫu cho trang chủ của chúng tôi, ví dụ, thành 39), các mẫu sẽ không còn liên kết chính xác. Sử dụng đảo ngược ánh xạ URL là mạnh mẽ hơn. Chúng tôi có thể mã hóa liên kết thành 38), nhưng nếu chúng tôi thay đổi mẫu cho trang chủ của mình, ví dụ: thành 39) thì các mẫu sẽ không còn liên kết chính xác nữa. Sử dụng ánh xạ URL bị đảo ngược mạnh mẽ hơnXem (dựa trên chức năng)Chế độ xem là một hàm xử lý yêu cầu HTTP, lấy dữ liệu cần thiết từ cơ sở dữ liệu, hiển thị dữ liệu trong trang HTML bằng HTML mẫu và sau đó trả về HTML được tạo trong HTTP phản hồi để hiển thị cho trang. . Chế độ xem chỉ mục theo cấu hình này - nó tìm hiểu thông tin về số lượng 60, 61, có sẵn 61 và 63 mà chúng tôi có trong cơ sở dữ liệu và chuyển thông tin đó đến một mẫu để hiển thịOpen Catalog/ViewS. Py và lưu ý rằng tệp đã nhập hàm tắt Render() để tạo tệp HTML bằng cách sử dụng mẫu và dữ liệu. danh mục/lượt xem. py và lưu ý rằng tệp đã nhập chức năng phím tắt render() để tạo tệp HTML bằng cách sử dụng mẫu và dữ liệu 3Dán các dòng sau ở dưới cùng của tệp 6Dòng đầu tiên nhập các lớp mô hình mà chúng tôi sẽ sử dụng để truy cập dữ liệu trong tất cả các điểm quan trọng của chúng tôi Phần đầu của hàm xem có lượng bản ghi bằng thuộc tính 64 trên các lớp mô hình. Nó cũng có một danh sách các đối tượng_______061 có giá trị 'A' (có sẵn) trong trạng thái. Bạn có thể tìm thêm thông tin về cách truy cập dữ liệu mô hình trong Hướng dẫn hướng dẫn trước đây của chúng tôi Phần 3. Sử dụng Mô hình> Tìm kiếm hồ sơỞ cuối hàm xem, chúng tôi gọi hàm 66 để tạo trang HTML và trả lại trang dưới dạng phản hồi. Chức năng phím tắt này bao gồm một số chức năng khác để đơn giản hóa một trường hợp sử dụng rất phổ biến. Hàm 66 chấp nhận các tham số sau
Chúng ta sẽ nói thêm về các mẫu và biến 80 in the next section. Hãy tạo mẫu của chúng tôi để chúng tôi thực sự có thể hiển thị một cái gì đó cho người dùngmẫuMẫu là một tệp văn bản xác định cấu trúc hoặc bố cục cục bộ của một tệp (chẳng hạn như HTML trang), nó sử dụng trình giữ chỗ để biểu diễn nội dung thực tế Một ứng dụng Django được tạo bằng StartApp (như bộ khung của ví dụ này) sẽ tìm kiếm các mẫu trong một thư mục con có tên 'Mẫu' của các ứng dụng của bạn. Ví dụ. in mode view only which we just add into, function 66 sẽ mong đợi để tìm thấy chỉ mục tệp. html trong/locall Thư viện/danh mục/mẫu/và sẽ gây ra lỗi nếu không có tệp tin. startapp (như khung của ví dụ này) sẽ tìm các mẫu trong thư mục con có tên là 'mẫu' của các ứng dụng của bạn. Ví dụ: trong chế độ xem chỉ mục mà chúng tôi vừa thêm, hàm ____066 sẽ mong đợi tìm chỉ mục tệp. html trong /locallibrary/catalog/templates/ và sẽ báo lỗi nếu không có tệpBạn có thể kiểm tra điều này bằng cách lưu các thay đổi trước đó và truy cập 83 trong trình duyệt của bạn - nó sẽ hiển thị thông báo lỗi khá trực quan. "______084" và các chi tiết khácLưu ý. Dựa trên tệp cài đặt của dự án, Django sẽ tìm kiếm các mẫu ở một số nơi, tìm kiếm trong các ứng dụng đã cài đặt của bạn theo mặc định. Bạn có thể tìm hiểu thêm về cách Django tìm thấy các mẫu và mẫu nào mà nó hỗ trợ trong phần Mẫu của tài liệu Django. Dựa trên tệp cài đặt dự án của bạn, Django sẽ tìm kiếm các mẫu ở một số nơi, tìm kiếm trong các ứng dụng đã cài đặt của bạn theo mặc định. Bạn có thể tìm hiểu thêm về cách Django tìm mẫu và những định dạng mẫu mà nó hỗ trợ trong phần Mẫu của tài liệu Django Mở rộng các mẫuMẫu chỉ mục cần đánh dấu tiêu chuẩn HTML cho đầu và cơ thể, cùng với các phần điều hướng để liên kết đến các trang khác của trang web (mà chúng tôi chưa tạo) và với các phần hiển thị dữ liệu văn bản và văn bản Phần lớn cấu trúc HTML và điều hướng sẽ giống nhau trong mỗi trang web của chúng tôi. Thay vì sao chép mã hơi trên mỗi trang, bạn có thể sử dụng ngôn ngữ khuôn mẫu Django để khai báo một mẫu cơ sở, sau đó mở rộng nó để thay thế các bit khác nhau cho mỗi trang cụ thể Sau code code is base pattern from file base_generic. html. Chúng tôi sẽ sớm tạo mẫu cho locall Library. Mẫu dưới đây bao gồm HTML phổ biến với các phần dành cho tiêu đề, thanh bên và nội dung chính được đánh dấu bằng thẻ mẫu 85 và______086. Bạn có thể để trống các khối hoặc bao gồm nội dung mặc định để sử dụng khi xuất các trang phát ra từ mẫu. base_generic. tệp html. Chúng tôi sẽ sớm tạo mẫu cho LocalLibrary. Mẫu bên dưới bao gồm HTML phổ biến với các phần dành cho tiêu đề, thanh bên và nội dung chính được đánh dấu bằng các thẻ mẫu có tên 85 và_______086. Bạn có thể để trống các khối hoặc bao gồm nội dung mặc định để sử dụng khi hiển thị các trang bắt nguồn từ mẫuLưu ý. Thẻ mẫu là các chức năng mà bạn có thể sử dụng trong một mẫu để lặp qua danh sách, thực hiện các hoạt động có điều kiện dựa trên giá trị của một biến, v. v. Ngoài các thẻ mẫu, cú pháp mẫu cho phép bạn tham khảo các biến được truyền vào mẫu từ chế độ xem và sử dụng các bộ lọc mẫu để định dạng các biến (ví dụ:. to convert string to normal). Thẻ mẫu là các chức năng mà bạn có thể sử dụng trong mẫu để lặp qua các danh sách, thực hiện các thao tác có điều kiện dựa trên giá trị của một biến, v.v. Ngoài các thẻ mẫu, cú pháp mẫu cho phép bạn tham chiếu các biến được chuyển vào mẫu từ dạng xem và sử dụng các bộ lọc mẫu để định dạng các biến (ví dụ: để chuyển đổi một chuỗi thành chữ thường) 8Khi xác định một mẫu cho một chế độ xem cụ thể, trước hết chúng tôi chỉ định mẫu cơ sở bằng thẻ mẫu 87 - xem bên dưới mã bên dưới. Sau đó, chúng tôi khai báo những phần nào từ mẫu mà chúng tôi muốn thay thế (nếu có), sử dụng ________ 55/________ 56 Phần như trong mẫu cơ sởVí dụ. đoạn mã bên dưới để thấy cách sử dụng mẫu thẻ 87 and override block 11. HTML được tạo sẽ bao gồm mã và cấu trúc được xác định trong cơ sở mẫu, bao gồm nội dung mặc định mà bạn đã xác định trong khối 12, nhưng khối 11 mới thay cho trang web mặc định. 1Model locall LibraryChúng tôi sẽ sử dụng đoạn mã sau làm mẫu cơ sở cho trang web locall Thư viện. Như bạn có thể thấy, nó chứa một số mã HTML và xác định các khối cho 12, 15 và_______511. Chúng tôi có một tiêu đề mặc định và một thanh bên mặc định với các liên kết đến danh sách tất cả các cuốn sách và tác phẩm giả, cả hai được đặt trong các khối để dễ dàng thay đổi trong tương laiLưu ý. Chúng tôi cũng giới thiệu hai thẻ mẫu bổ sung 87 và 18. Các thẻ này sẽ được giải thích trong các phần sau. Chúng tôi cũng giới thiệu hai thẻ mẫu bổ sung. 17 và 18. Các thẻ này sẽ được giải thích trong các phần sauTạo một tệp mới Base_Generic. html in/locall Library/Catalog/Mẫu/và dán mã sau vào tệp. base_generic. html trong /locallibrary/catalog/templates/ và dán đoạn mã sau vào tệp 2Bao gồm mẫu bao gồm CSS từ Bootstrap để cải thiện cục bộ và trình bày của trang HTML. Sử dụng Bootstrap (hoặc khung web phía máy khách khác) là một cách nhanh chóng để tạo một trang hấp dẫn hiển thị tốt trên các kích thước màn hình khác nhau Cơ sở mẫu cũng tham chiếu đến một bộ CSS cục bộ (styles. css) cung cấp kiểu dáng bổ sung. Tạo kiểu tệp. css trong/locall Thư viện/danh mục/static/css/và dán mã sau trong tệp. phong cách. css) cung cấp kiểu dáng bổ sung. Tạo kiểu. css trong /locallibrary/catalog/static/css/ và dán đoạn mã sau vào tệp 3Model onlyTạo tệp HTML mới INDEX. html in/locall Library/Catalog/Mẫu/và dán mã sau vào tệp. Mã này mở rộng cơ sở mẫu của chúng tôi trên dòng đầu tiên và sau đó thay thế khối 11 default for sample. mục lục. html trong /locallibrary/catalog/templates/ và dán đoạn mã sau vào tệp. Mã này mở rộng mẫu cơ sở của chúng tôi trên dòng đầu tiên, sau đó thay thế khối default 11 cho mẫu. 6Trong phần Nội dung động, chúng tôi tuyên bố các trình giữ chỗ (biến mẫu) cho thông tin từ chế độ xem mà chúng tôi muốn bao gồm. The variable are set with the double (tay lái) Lưu ý. Bạn có thể dễ dàng nhận ra các biến mẫu và thẻ mẫu (hàm) - Các biến được đặt trong đảo lộn kép ( 70) và các thẻ được đặt trong đảo lộn đơn với các dấu hiệu phần trăm ( 21). Bạn có thể dễ dàng nhận ra biến mẫu và thẻ mẫu (hàm) - biến được đặt trong dấu ngoặc kép ( 20) và thẻ được đặt trong dấu ngoặc đơn có dấu phần trăm ( 21)Điều quan trọng cần lưu ý ở đây là các biến được đặt tên với các từ khóa mà chúng tôi chuyển vào từ điển 80 trong hàm 66 của chế độ xem của chúng tôi (xem mẫu bên dưới). Các biến sẽ được thay thế bằng các giá trị liên quan của chúng khi mẫu được hiển thị. 0Tham khảo các tệp tĩnh trong các mẫuDự án của bạn có khả năng sử dụng tài nguyên tĩnh, bao gồm JavaScript, CSS và hình ảnh. Vì vị trí của các tệp này không thể biết được (hoặc có thể thay đổi), Django cho phép bạn chỉ định vị trí trong các mẫu của bạn vì vậy khi cài đặt toàn cầu 24. Trang web bộ khung mặc định đặt giá trị của ______024 thành ' 26', nhưng bạn có thể chọn lưu trữ chúng trên mạng phân phối nội dung hoặc ở nơi khácTrong mẫu trước tiên bạn gọi thẻ mẫu 27 chỉ định "tĩnh" để thêm thư viện mẫu, như được hiển thị trong mẫu mã bên dưới. Sau đó, bạn có thể sử dụng thẻ mẫu 28 và chỉ định URL tương ứng với tệp cần thiết. 1Bạn có thể thêm một hình ảnh vào trang theo cách tương tự, ví dụ 2Lưu ý. Các mẫu chỉ nằm trên vị trí định vị của các tệp, nhưng Django không phục vụ chúng theo mặc định. Chúng tôi đã cấu hình máy chủ web phát triển để phục vụ các tệp tệp bằng cách sửa đổi bản đồ URL toàn cầu (/locall Library/locall Library/urls. py) khi chúng tôi tạo khung trang web, nhưng vẫn cần bật tệp phục vụ trong sản phẩm xuất. Chúng tôi sẽ xem xét điều này sau. Các mẫu ở trên chỉ định vị trí của các tệp, nhưng Django không phục vụ chúng theo mặc định. Chúng tôi đã định cấu hình máy chủ web phát triển để phân phát tệp bằng cách sửa đổi trình ánh xạ URL chung (/locallibrary/locallibrary/urls. py) khi chúng tôi tạo khung trang web, nhưng vẫn cần bật phân phát tệp trong sản xuất. Chúng ta sẽ xem xét điều này sau Để biết thêm thông tin về việc làm với các tệp tĩnh, hãy xem Quản lý các tệp tĩnh trong tài liệu Django Linked with URLMẫu cơ sở trên thẻ mẫu giới hạn 17. 3This tag accept the name of function 32 được gọi trong url. py của bạn và các giá trị cho bất kỳ đối số nào mà chế độ xem liên quan sẽ nhận được từ hàm đó và trả về URL mà bạn có thể sử dụng để liên kết với tài nguyên. url. py và các giá trị cho bất kỳ đối số nào mà chế độ xem được liên kết sẽ nhận được từ hàm đó và trả về một URL mà bạn có thể sử dụng để liên kết tới tài nguyênConfigation Config Nơi tìm các mẫuVị trí nơi Django tìm kiếm các mẫu được chỉ định trong các đối tượng 31 trong tập tin setselfs. py. Default setting. py (như được tạo cho hướng dẫn này) trông giống như thế này. cài đặt. tập tin py. Cài đặt mặc định. py (được tạo cho hướng dẫn này) trông giống như thế này. 4Settings of 32, là quan trọng nhất, vì nó bảo đảm Django tìm kiếm các mẫu trong thư mục của mỗi ứng dụng trong dự án, được đặt tên là "Mẫu" (điều này giúp nhóm các mẫu dễ dàng hơn với ứng dụng liên quan của bạn). Chúng tôi cũng có thể chỉ định các vị trí cụ thể cho Django để tìm kiếm các thư mục bằng cách sử dụng 33 (nhưng điều đó chưa cần thiết)Nó trông như thế nào?Tại thời điểm này, chúng tôi đã tạo tất cả các tài nguyên cần thiết để hiển thị chỉ mục trang. Chạy máy chủ ( 34) and open 35 in your browser. Nếu mọi thứ được cấu hình chính xác, trang web của bạn sẽ trông giống như ảnh chụp màn hình sauLưu ý. Tất cả các cuốn sách và tất cả các liên kết của tác giả sẽ không hoạt động vì các đường dẫn, chế độ xem và mẫu cho các trang đó không được xác định. Chúng tôi chỉ cần chèn giữ chỗ cho các liên kết đó trong mẫu 006. Liên kết Tất cả sách và Tất cả tác giả sẽ chưa hoạt động vì đường dẫn, dạng xem và mẫu cho các trang đó chưa được xác định. Chúng tôi vừa chèn phần giữ chỗ cho các liên kết đó trong mẫu 36Bản thân thử nghiệmDưới đây là một số nhiệm vụ để kiểm tra sự quen thuộc của bạn với các truy vấn, chế độ xem và mô hình mẫu
Bản tóm tắtChúng tôi vừa tạo trang chủ cho trang web của chúng tôi-một trang HTML hiển thị một số bản ghi từ cơ sở dữ liệu và liên kết đến các trang chưa được tạo khác. Trên đường đi, chúng tôi đã nghiên cứu thông tin cơ bản về người thiết lập bản đồ URL, chế độ xem, truy vấn cơ sở dữ liệu với các mô hình, chuyển thông tin đến một mẫu từ chế độ xem và tạo và mở rộng các Trong bài viết tiếp theo, chúng tôi sẽ xây dựng kiến thức này để tạo ra bốn trang còn lại của trang web của chúng tôi |