Python 根据页面ID在Django中加载页面
我一直在与Django合作,以制作我的投资组合,并设法制作了一个简单的页面管理器。问题是,它无法按我希望的方式工作:Python 根据页面ID在Django中加载页面,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,我一直在与Django合作,以制作我的投资组合,并设法制作了一个简单的页面管理器。问题是,它无法按我希望的方式工作: 我创建页面 它加载了我给它的内容 使用jQuery,我只加载该内容(作为格式化的HTML) 它不需要重新加载或移动到另一个页面即可显示自己 问题在于最后两个步骤,我无法让视图和模板只加载一个 Views.py: def paginas(request, title): get_page = Page.objects.all() # I can't think of a w
def paginas(request, title):
get_page = Page.objects.all() # I can't think of a way to make a proper filter
return render_to_response('template.html', {'get_page': get_page}, context_instance=RequestContext(request), mimetype="text/html")
Template.html:
{% if get_page %}
{% for page in get_page %}
{{ page.content|safe }}
<p>Full path is {{ request.get_full_path }} and page id is {{ page.id }}</p>
{% endfor %}
{% else %}
<p>Nothing.</p>
{% endif %}
{%if get_page%}
{get_page%中的页的%s}
{{page.content | safe}}
完整路径为{request.get_Full_path}},页面id为{{page.id}}
{%endfor%}
{%else%}
没什么
{%endif%}
我知道我应该过滤它,但我不知道如何过滤
感谢您的帮助。tbh,django非常清楚地解释了URL、参数和表单,但这里有一个想法:
url(r'^/someapp/(?P<page_id>\d+)/$', paginas),
def paginas(request, **kwargs):
id = kwargs.pop('page_id')
page = get_object_or_404(Page, id=id)
# etcetera
class Page(models.Model):
# regular stuff
def get_absolute_url(self):
return "/someapp/%d/" % self.id
url(r'^/someapp/(?P\d+/$),paginas),
def paginas(请求,**kwargs):
id=kwargs.pop('page_id'))
页面=获取对象或404(页面,id=id)
#等等
类页面(models.Model):
#普通的东西
def get_绝对_url(自身):
返回“/someapp/%d/%self.id”
在paginas
中,您显然得到了所有页面
要获得一个页面,可以使用get
功能
def paginas(request, title):
try:
your_page = Page.objects.get(title=title)
except Page.DoesNotExist:
# error no page for that title
# could use built in get_object_or_404 as ArgsKwargs suggested
同样重要的是考虑使用蛞蝓来确保编码是正确的。页面id最好使用我认为它还将url args kwargs传递给请求函数,因此这也是有效的
def paginas(request,page_id=None):…
。另一方面,您的示例是错误的。request.GET将url中的数据存储在?
标记之后,因此在/someapp/?page\u id=
的情况下是正确的。如果我错了,请纠正我。仅仅接受page\u id
作为第二个参数不是更明确吗?通过**kwargs
访问它有什么好处?谢谢你的想法,我找到了一条出路。这是一个基于URL构造的问题。@dm03514 well import这说明显式比隐式好,但是我喜欢dynamics kwargs提供的,当然这个例子不需要任何:-)我已经得到了我的答案,但我从来没有想过例外。提出404错误将非常有用。谢谢。get_object_或_404是一个django函数,我没有编造:-)是的get_object_或_404
是正确的方式,我只是想展示get
函数