【问题标题】:how to work with two apps in django如何在 django 中使用两个应用程序
【发布时间】:2014-11-22 20:41:46
【问题描述】:

你好,我正在学习 django,我想知道它是否可以让我的两个应用程序工作我有这样的文件夹

mysite/
--/app1 (blog app)
--/app2  (a list of users that signs up with a form)
--/mysite
--db
--manage.py

我的 app2 有 index.html 和 structure.html 我用来继承我的其他 html 文件,所以 我试图使用我在 app1 中创建的 post_list.html 文件,首先这就是我的网址看起来像这样的样子

from django.conf.urls import patterns, include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'info', 'app2.views.grid'),
    url(r'', 'app2.views.home'),
    url(r'^blog/', 'app1.views.post_list')
)

我的 app1 视图如下所示

from django.shortcuts import render
from .models import Post
# Create your views here.

def post_list(request):
    posts = Post.objects.filter(published_date_isnull=False).order_by('published_date')
    return render(request, 'app1/post_list.html',{'posts':posts})

那么我的 post_list.html 看起来像这样

{% extends "/app2/templates/app2/structure.html" %}

{% block content %}
    {% for post in posts %}
        <div class="post">
            <div class="date">
                {{ post.published_date }}
            </div>
            <h1><a href="">{{ post.title }}</a></h1>
            <p>{{ post.text|linebreaks }}</p>
        </div>
    {% endfor %}

{% endblock %}

当我进入浏览器并输入 127.0.0.1:8000/blog/ 时,它一直显示我的 app2/index.html,我错过了什么?除了像我一样将我的观点添加到我的 url 之外,我还需要做任何其他事情吗?

附加信息:我将 app2 和 app1 添加到我的设置中

【问题讨论】:

    标签: python html django


    【解决方案1】:

    我认为您的urls.py 需要更新:

    urlpatterns = patterns('',
        url(r'^admin/', include(admin.site.urls)),
        url(r'^info', 'app2.views.grid'),
        url(r'^$', 'app2.views.home'),
        url(r'^blog/', 'app1.views.post_list')
    )
    

    url(r'', 'app2.views.home') 将充当通配符,因为 python 使用 regular expressions 进行匹配。请查看URL dispatcher 文档以更好地了解正在发生的事情。

    【讨论】:

    • 谢谢!这解决了问题!显然我所做的一切都很好,但是这个!
    猜你喜欢
    • 2023-01-03
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多