Tags:
Forums: 

คือ ผมได้หัดเขียน django มาหลายวันแล้วรู้สึกว่า งง กับการเชื่อมลิงค์ครับ เช่น สมมติว่าผม
สรา้งหน้า template ขึ้นมาหนึ่ง เพื่อที่เอาไว้หน้าอื่นสืบทอดคุณสมบัติไปใช้งาน จะได้ดังนี้ครับ

template/
base.html/
temp.html
temp2.html
สมมติว่าผมต้องที่จะให้หน้า temp.html ลิงค์ไป temp2.html (กลับไปกลับมา (โดยพื้นฐานhtml จะใช้ ))ภายโค็ด แต่ผมได้ทดลองแล้วมัน ยัง error อยู่ครับไม่ทราบเป็นเพราะอะไร(ผมได้ทดลองลิงค์ไปข้ามนอก เช่น google.comm)มันทำงานได้นะครับ

                     ขอบคุณไว้ ณ ที่นี้ครับ....
Get latest news from Blognone
By: kowito2
Android
on 6 January 2010 - 22:57 #147512

-ไม่เข้าใจคำถาม ลองพยายามเรียบเรียงให้เข้าใจง่ายขึ้น
-ลองเอา code มาให้ดูก็ได้
-พยายามใช้ภาษาไทยให้ถูกต้อง

เท่าที่ผมพยายามทำความเข้าใจนะ หมายถึงให้ temp.html include ไปยัง temp2.html และ temp2.html include ไปที่ teml.html ใฃ่หรือไม่ครับ ถ้าอย่างนั้นก็คงทำไม่ได้ ลองพยายามออกแบบใหม่

By: panuta
iPhone
on 7 January 2010 - 08:44 #147556

หมายความว่าสร้าง link ไปที่หน้า html ตรงๆรึเปล่า? อย่างนี้ทำไม่ได้ครับ ต้องสร้าง url ไว้ในไฟล์ urls.py ซึ่งมันจะไปเรียก function ในไฟล์ views.py แล้วใน function นั้นค่อยระบุว่าจะ render_to_response ไปที่ template ไหน (temp.html หรือ temp2.html)

django เป็น framework ซึ่งจะต่างกับ php ซึ่งเป็นเพียงการลิงค์ไปยังไฟล์ script ต่างๆครับ

function ในไฟล์ views.py นั้นก็มักจะเอาไว้เรียกข้อมูลจากฐานข้อมูลขึ้นมาแสดง ทำโน่นทำนี่ ก่อนที่จะมาระบุในไฟล์ template ว่าจะให้แสดงตรงไหนน่ะครับ

By: som2526_1
AndroidUbuntu
on 7 January 2010 - 21:28 #147606

-ใช้ๆๆ ครับความหมายเดียวกันกับ ทา่น panuta ครับ หมายความว่าสร้าง link ไปที่หน้า html ตรงๆ คือผมสร้าง url ไว้ในไฟล์ urls.py ซึ่งมันจะไปเรียก function ในไฟล์ views.py แล้วใน function นั้นค่อยระบุว่าจะ render_to_response ไปที่ template ไหน **ไม่เข้าใจตรงนี้และครับ สมมติว่า ผมมีหน้า x1.html และ x2.html
-x1.html
<_a hef="x2.html">go to page x2 <_/a>

-x2.html
<_a hef="x1.html">go to page x1 <_/a>

              มีต่อ >>
By: som2526_1
AndroidUbuntu
on 8 January 2010 - 17:42 #147609

(ต่อครับ)

ประมาณว่าผมต้องการเอาเม้าร์ไปคลิ๊กที่ แสดงหน้า go to page x2 แล้วมันต้องแสดงหน้า go to page x1
(คลิ๊กกลับไปกลับมาได้ครับ)แบบนี้ต้องทำอย่างไรครับ ช่วยยกตัวอย่างด้วยครับ งง มาหลายวันแล้วครับ(ถ้าจะให้ดีของ souce code ตัวอย่างด้วยก็ดีครับ som2526_1@hotmail.com)
ตอนนี้ลองทำได้ ประมาณวา
mysite{
template{polls{index.html, detail.html}}
urls.py
manage.py
settings.py
polls{admin.py models.py views.py }
}
คือตอนนี้ผม config url.py , manage.py, setting.py ได้แล้วครับทำงานได้ด้วย คือ งง ตรงที่สมมติว่าผม รัน server ขึ้นมาปับ ผมก็ต้องอ้าง path สมมติว่าเป็น http://127.0.0.1:8000/polls มันก็จะขึ้นหน้าที่ผมตั้งใว้ใน ไฟล์ urls.py (r'^polls/$', 'mysite.polls.views.index) ก็จะเป็นหน้า index.html แสดง

*** คำถามที่ต้องการคำตอบคือ ตอนที่นี้ index.html แสดงอยู่ เราสามารถที่จะใส่ลิงค์(ที่เอาเม้าร์คลิ๊กได้)<_a hef="detail.html">go to page detail<_/a> เพื่อที่ให้มันสามารถที่จะแสดงหน้า detail.html ได้ไหมครับ หรือจะมีวิธีอย่างอืนที่ทำได้ไหมครับช่วยชี้แนะด้วยครับ
อ่านจาก -->>http://docs.djangoproject.com/en/1.1/intro/tutorial03/#intro-tutorial03

บริษัทไหนที่ต้องการ programmer python ติดต่อผมได้นะครับ ยังหางานเขียน python ไม่ได้เลยไม่อยากเปลียมแนวไปเขียนภาษาอืน (ชอบเขยีนไพธอนมากๆๆ โปรเจคจบเขียนด้วยไพธอนครับ(app)ตอนนี้กำลังเล่น django อยู่ครับ ***เริ่มทำงานได้ทันที่ครับ)

                     ขอบคุณใว้ ณ ที่นี้นะครับ ท่านจอมยุทธทั้งหลาย
By: som2526_1
AndroidUbuntu
on 8 January 2010 - 12:51 #147821

ทำได้เแล้ว เข้าหลักการแล้ว ไม่ต้องตอบก็ได้ ครับ หรือ ตอบเพื่อเป็นวิทยาทาน กับคนที่ติดได้ดีนะครับ

ถามตัวเองตอบตัวเอง นี้เลยครับ http://docs.djangoproject.com/en/1.1/topics/templates/#topics-templates

บทย่อนะครับ
ประมาณว่าเอาง่ายๆๆ นะครับ คือเราต้องทดลองแบบนี้ครับ
1. สรา้ง template ขึ้นมา สมมติว่า คือ base.html(โค๊ดเปิดดูที่ลิงค์ด้านบนครับจะมีอยู่ครับ) (เก็บใว้ที่ --> /home/somkid/Desktop/sanook/web/mysite/templates) แล้วต้องมีการบอก web เราว่า template ของเราเก็บไว้ที่ไหน โดยการเข้าไปแก้ settings.py
TEMPLATE_DIRS = (
'/home/somkid/Desktop/sanook/web/mysite/templates' ) <--ทำแบบนี้ web เรามันจะรู้เองครับ ไม่ต้อง งง นะ

2.เราลองใส่สร้าง folder ชื่อ polls ก็จะได้ประมาณนี้ครับ'/home/somkid/Desktop/sanook/web/mysite/templates/polls' ต่อไปนี้ครับ ลองสรา้ง index.html (ใส่โค็ดเอานี้ลงไปเลยครับ
{% extends "base.html" %}

{% block title %}My amazing blog{% endblock %}

{% block content %}
{% for entry in blog_entries %}

{{ entry.title }}

<p>{{ entry.body }}</p>

{% endfor %}
{% endblock %} )

  1. แน่นอนรันมันจะ error นะเพราะเรายังทำไม่ครบไงครับ ต่อๆๆ แก้ไขอีกรอบนะโดยการเข้าไปแก้ settings.py ใส่นี้ลงไปเลยครับ
    INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'mysite.polls', # <--- OHh
    )

4.เป็นอันว่าเส็จแล้วครับ รันมันเลยครับด้วย python manage.py runserver
5.ดูหน่อยดิว่าออกมาถูกต้องใหมเอ๋ย (http://127.0.0.1:8000/polls)
ุ6.สังเกตจากการเปลียมแปลงครับ (ไม่ได้สอนนะครับ แต่เผื่อมีคนติดครับ)
ถ้ายังมีข้อผิดพลาด (please comment) บอกด้วยนะครับ หรือ mail::som2526_1@hotmail.com