我正在想办法在我的django应用程序中为我的内容建立一个url列表。我已经正确地设置了模型和视图,并且已经知道如何在模板中访问这些数据,但是我不太确定如何开始为它们创建url。你知道吗
我掌握的数据是大陆和这些大陆的国家。模板应该呈现一个大陆列表,但是作为链接。你知道吗
下面是一个关于一个大陆的例子:
<ul id="continentMenu">
<li><a href="insert-path-to-continent-using-the-template">Scandinavia</a></li>
</ul>
我的网址.py看起来像
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api/', include('countrydata.urls')),
url(r'^', include('selectui.urls')),
]
还有我的索引.html看起来像
{% extends 'base.html' %}
{% block title %}Home{% endblock %}
{% block content %}
{% if user.is_authenticated %}
Hi {{ user.username }}!
<p><a href="{% url 'logout' %}">logout</a></p>
{% else %}
<p>You are not logged in</p>
<a href="{% url 'login' %}">login</a>
{% endif %}
{% endblock %}
我的菜单.html,我想把大陆的联系放进去,看起来像
{% extends "base.html" %}
{% load staticfiles %}
{% block content %}
<div class="container-fluid">
<div class="l">
{% for continent in all_continents %}
<h1> {{ continent.name }}</h1>
<p> {{ continent.code }}</p>
{% for country in continent.countries.all %}
<p> {{country.name}}</p>
{% endfor %}
{% endfor %}
</div>
</div>
{% endblock %}
目前,我只是让它将所有大陆和国家打印成纯文本,以确保我成功地解析了对象(我就是这样)。我很难弄清楚我需要在{%url%}中输入什么样的指令,因为我的第一次尝试只会导致错误。你知道吗
那个阿贾克斯.js我被派去和看起来像
/* Run once document ready. */
$(function() {
"use strict";
#continentMenu.
$("#continentMenu a").on("click", function(event) {
event.preventDefault();
var url = $(this).attr("href");
$("#continentName").text($(this).text());
$("#tableContainer").load(url);
});
});
以及视图.py看起来像
from django.shortcuts import render, get_object_or_404
from countrydata.models import Continent
def show_continent(request, continent_code=None):
context = {
"all_continents": Continent.objects.all()
}
if continent_code:
continent = get_object_or_404(Continent, code=continent_code)
context["continent"] = continent
return render(request, "selectui/index.html", context)
目前没有回答
相关问题 更多 >
编程相关推荐