Django 템플릿 URL 태그에 URL 매개 변수를 추가하는 방법은 무엇입니까?
내 관점에서 다음과 같은 URL 매개 변수를 가져옵니다.
date=request.GET.get('date','')
내 URL에서 다음과 같은 URL 템플릿 태그를 사용하여 이러한 방식으로 매개 변수를 전달하려고합니다.
<td><a href="{% url 'health:medication-record?date=01/01/2001' action='add' pk=entry.id %}" >Add To Log</a></td>
? 뒤에있는 매개 변수 분명히 작동하지 않습니다. get으로 검색하기 위해이 데이터 값을 어떻게 전달할 수 있습니까?
먼저 정규식에서 매개 변수를 허용하도록 URL을 준비해야합니다. (urls.py)
url(r'^panel/person/(?P<person_id>[0-9]+)$', 'apps.panel.views.person_form', name='panel_person_form'),
따라서 템플릿에서 다음을 사용합니다.
{% url 'panel_person_form' person_id=item.id %}
매개 변수가 두 개 이상있는 경우 다음을 사용하여 정규식을 변경하고 템플릿을 수정할 수 있습니다.
{% url 'panel_person_form' person_id=item.id group_id=3 %}
여기서 답을 찾았습니다. Django의 {% url %} 템플릿 태그를 통해 쿼리 매개 변수를 전달할 수 있습니까?
끝에 추가하기 만하면됩니다.
<a href="{% url myview %}?office=foobar">
For Django 1.5+
<a href="{% url 'myview' %}?office=foobar">
[개선 할 사항은 없지만 코드 틱을 수정하면 어리석은 오류가 발생합니다.]
템플릿 URL을 추가하기 만하면됩니다.
<a href="{% url 'service_data' d.id %}">
...XYZ
</a>
장고 2.0에서 사용
이것은 세 가지 간단한 단계로 수행 할 수 있습니다.
1)url
태그 와 함께 항목 ID 추가 :
{% for item in post %}
<tr>
<th>{{ item.id }}</th>
<td>{{ item.title }}</td>
<td>{{ item.body }}</td>
<td>
<a href={% url 'edit' id=item.id %}>Edit</a>
<a href={% url 'delete' id=item.id %}>Delete</a>
</td>
</tr>
{% endfor %}
2) urls.py에 경로 추가 :
path('edit/<int:id>', views.edit, name='edit')
path('delete/<int:id>', views.delete, name='delete')
3) views.py 에서 ID를 사용하십시오 .
def delete(request, id):
obj = post.objects.get(id=id)
obj.delete()
return redirect('dashboard')
IM이 주제에서 벗어 났는지 확실하지 않지만 해결책을 찾았습니다. 클래스 기반보기가 있고 get 매개 변수를 템플릿 태그로 사용하려고합니다.
class MyView(DetailView):
model = MyModel
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx['tag_name'] = self.request.GET.get('get_parameter_name', None)
return ctx
그런 다음 get 요청을 /mysite/urlname?get_parameter_name='stuff
합니다.
템플릿에서를 삽입 {{ tag_name }}
하면 get 매개 변수 값 ( 'stuff')에 액세스 할 수 있습니다. 이 매개 변수도 필요한 템플릿에 URL이있는 경우 다음을 수행 할 수 있습니다.
{% url 'my_url' %}?get_parameter_name={{ tag_name }}"
URL 구성을 수정할 필요가 없습니다.
1 : HTML
<tbody>
{% for ticket in tickets %}
<tr>
<td class="ticket_id">{{ticket.id}}</td>
<td class="ticket_eam">{{ticket.eam}}</td>
<td class="ticket_subject">{{ticket.subject}}</td>
<td>{{ticket.zone}}</td>
<td>{{ticket.plaza}}</td>
<td>{{ticket.lane}}</td>
<td>{{ticket.uptime}}</td>
<td>{{ticket.downtime}}</td>
<td><a href="{% url 'ticket_details' ticket_id=ticket.id %}"><button data-toggle="modal" data-target="#modaldemo3" class="value-modal"><i class="icon ion-edit"></a></i></button> <button><i class="fa fa-eye-slash"></i></button>
</tr>
{% endfor %}
</tbody>
{% url 'ticket_details'%}는 뷰의 함수 이름입니다.
2 : Views.py
def ticket_details(request, ticket_id):
print(ticket_id)
return render(request, ticket.html)
ticket_id는 ticket_id = ticket.id에서 가져올 매개 변수입니다.
3 : URL.py
urlpatterns = [
path('ticket_details/?P<int:ticket_id>/', views.ticket_details, name="ticket_details") ]
/?P - where ticket_id is the name of the group and pattern is some pattern to match.
참고URL : https://stackoverflow.com/questions/25345392/how-to-add-url-parameters-to-django-template-url-tag
'your programing' 카테고리의 다른 글
초점을 맞출 때 아이폰 기본 키보드 방지 (0) | 2020.10.15 |
---|---|
Picasso를 사용하여 이미지를 전체 너비 및 가변 높이로 크기 조정 (0) | 2020.10.15 |
adb를 사용하여 웹 브라우저를 시작하려면 명령 줄이 필요합니다. (0) | 2020.10.15 |
MailMessage를 사용하여 여러 수신자에게 이메일을 보내는 방법은 무엇입니까? (0) | 2020.10.15 |
jquery fadeIn ()이 .html ()에서 작동하지 않는 이유는 무엇입니까? (0) | 2020.10.15 |