有两个Django应用程序。 工作和博客
博客应用模板文件夹包含 index.html
以下是工作
中的 view.pyfrom django.shortcuts import render
from . import models
from work.models import Work
from blog import views
# Create your views here.
def work_(request):
template_name = "blog/templates/index.html"
work_list = Work.objects.all
context={'work_list':work_list}
return render(request,template_name,context)
我希望它显示在博客应用
中的 index.html 中<div class="work">
<section id = "work-list">
<div class="container">
<div class = "row">
{% for works in work_list %}
<div class="col-md-4">
<div class="lol">
<img class="img-rounded img-responsive" src = "{{works.image}}" alt="">
</div>
</div>
{%endfor%}
</div>
</div>
</section>
</div>
index.html 位于博客应用
中这是目录
blog
template
index.html
models.py
views.py
Work
views.py
models.py
我试图在 views.py 中添加一个打印声明 它没有在控制台中打印。 显然 url.py
中出现了问题 urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.BlogIndex.as_view(), name='home'),
url(r'^blogposts/$', views.BlogPosts.as_view(), name='blogposts'),
url(r'^about/$', views.about, name='about'),
url(r'^contact/$', contact_views.contact, name='contact'),
url(r'^privacy/$', privacy_views.privacy, name='privacy'),
url(r'^feed/$', feed.LatestPosts(), name='feed'),
url(r'^work/$', work_views.work_, name='work'),
url(r'^(?P<slug>[-\w]+)/$', views.detailview, name='entry_detail'),
url(r'^ckeditor/', include('ckeditor_uploader.urls'))
]
答案 0 :(得分:1)
你犯了一些我能发现的错误。
1.它应该是work_list = Work.objects.all()
,你最后错过了()
2.您的模板文件应以这种方式放置:/blog/templates/blog/index.html
3.在html文件中,在插入图像src
时,您必须编写{{ works.image.url }}
来实际显示图像。否则,你什么都看不到。 <img src="{{ works.image.url }}"/>
:
您必须创建不同的应用程序来处理不同的功能,每个功能都包含urls.py
文件。您无法将网址指向主urls.py
中的特定功能。所以,在主urls.py中执行此操作:
from django.conf.urls import url, include
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^blog/', include('blog.urls')),
]
然后在名为urls.py
的博客应用程序(或您需要的任何其他应用程序)中创建一个文件,其中:
from . import views
from django.conf.urls import url, include
urlpatterns = [
url(r'^$', views.BlogIndex.as_view(), name='home'),
url(r'^blogposts/$', views.BlogPosts.as_view(), name='blogposts'),
]
答案 1 :(得分:0)