Skip to main content
 首页 » 编程设计

python之Django 以编程方式更改 url

2025年05月04日22lyhabc

我必须在我的 django 支持的网站中进行分页。 index.html和 books.html

我有这个链接到 books.html在我的第一页

<a href="books.html">books</a> 

这个在books.html返回首页。

<a href="index.html">Home</a> 

我的 url conf 是这样的

urlpatterns = patterns('', 
    url(r'^$', 'mysite.views.home', name='home'), 
    url(r'^books.html/$', 'mysite.views.bookpage', name='books'), 
    url(r'index.html/$', 'mysite.views.home', name='home'), 
) 

和views.py

def home(request): 
        return render_to_response('index.html') 
 
def bookpage(request): 
        return render_to_response('books.html') 

当我点击第二个链接回家时。我的 url 地址看起来像这样

mysite.com/books.html/index.html/ 

如何将 url 改回 mysite.com/单击 books.html 中的第二个链接时?

如果标题不合适,请见谅。我不知道我的问题标题是什么

更新

我已经删除了 url(r'^index.html/$', 'mysite.views.home', name='home')从我的 url 模式和使用 <a href="{% url 'home' %}">在第二页。但是当我点击那个链接时没有任何反应

请您参考如下方法:

  1. Django 不要写<a href="anything.html"> .你应该使用 url页面地址的模板标签。更多关于 url此处的模板标签:https://docs.djangoproject.com/en/1.7/ref/templates/builtins/#url

示例:<a href="{% url 'home' %}">

  1. 在你的 urls.py 中你有 ^books.html/$和 index.html/$ .注意缺少 ^在索引之前?您可能想要添加它。

  2. 不要在 urls.py 中对不同的模式使用相同的名称。