有两个Django应用程序。工作和博客
Blog App模板文件夹包含index.html
这是来自work.py的工作
from 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中输入一个print语句并且它没有在控制台中打印。显然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'))
]
你犯了一些我能发现的错误。
它应该是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
文件。您无法将URL指向主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'),
]
你没有从其他博客应用程序中导入模型,所以在视图中,输入类似于blog.models导入的博客然后模板文件夹路径应该是blog \ templates \ blog for blog app not template