标签: django-urls

从Django模板中的URL访问kwargs

我可以在Django模板中访问命名参数的值(来自URL)吗?

我可以this_name从django模板中访问下面的值吗?

url(r'^area/(?P<this_name>[\w-]+)/$', views.AreaView.as_view(), name="area_list")
Run Code Online (Sandbox Code Playgroud)

我可以获取整个URL路径并将其分解但是想要检查是否有直接的方法来执行此操作,因为它已经有了名称.

在视图中的上下文数据中传递它可能是另一种选择,但不确定我是否需要传递它,因为我猜模板已经以某种方式已经拥有它?但是在请求API中找不到直接方法.

django django-templates django-urls

15
推荐指数
1
解决办法
7438
查看次数

django获取FileField的绝对路径

我试图在模板上调用FileField时检索绝对路径(以http://开头).

我怎样才能做到这一点?

即: {{fl.uploadedfile}}- >返回相对路径,如媒体/上传/我希望这样

干杯

django url-rewriting django-urls

14
推荐指数
2
解决办法
2万
查看次数

Django URL.py和索引

我想知道什么是最好的写作方式URL.py.我试图以这种方式获得索引:www.example.comwith (r'',index).但是当我尝试时r'',网站上的所有页面都会进入主页.

我的一部分url.py:

(r'^index',homepages),
(r'',homepages),
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

python django django-urls

14
推荐指数
2
解决办法
1万
查看次数

如何在Django URLpatterns中调度请求方法?

很清楚如何创建一个从URL正则表达式调度的URLPattern:

(r'^books/$', books),
Run Code Online (Sandbox Code Playgroud)

这里的书可以根据要求的方法,还派遣:

def books(request):
    if request.method == 'POST':
        ...
    else:
        ...
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种惯用的方法在URLPattern中包含请求方法,将所有调度/路由信息保存在一个位置,例如:

(r'^books/$', GET, retrieve-book),
(r'^books/$', POST, update-books),
(r'^books/$', PUT, create-books),
Run Code Online (Sandbox Code Playgroud)

python django django-urls

14
推荐指数
1
解决办法
3702
查看次数

Django URL - 无法在模板中反转url

我想我需要第二双眼睛.

以下示例应该是自我解释的.

我只需要能够在模板中反转我的网址.

/urls.py

urlpatterns = patterns('',
    (r'^products/', include('products.urls')),
)
Run Code Online (Sandbox Code Playgroud)

/products/urls.py

from django.conf.urls.defaults import patterns, url

urlpatterns = patterns('products.views',
    url(r'^$', view="index", name="index"),
)
Run Code Online (Sandbox Code Playgroud)

/templates/products/index.html

<a href="{% url products:index %}"> Products </a>
Run Code Online (Sandbox Code Playgroud)

UPDATE

完整的堆栈跟踪 - http://pastebin.com/9nLp4uP5

django django-urls

14
推荐指数
2
解决办法
2万
查看次数

如何在模板中添加锚到django url

我想在django模板中添加一个锚到我的网址,如下所示:

<a data-hover="Are You At Risk?" href="{% url 'home' %}#container">My link</a>
Run Code Online (Sandbox Code Playgroud)

这不起作用.

单击此链接时,如何将其移动到锚点?

django anchor django-templates django-urls

14
推荐指数
1
解决办法
9013
查看次数

Django动态网址

我正在开发一个使用Django作为后端的网站,我想让客户使用管理界面添加新页面 - 所以他输入了一个页面标题,一个用于更好网址的页面别名,并选择他是否想要静态内容或基于文章的结构.

我的方法如下:我创建了一个名为app的应用程序sitemanager,它包含上面描述的页面模型,以及一个上下文处理器,它将页面添加到我的模板上下文中(用于菜单等),这样可以正常工作.

当然,我还需要将它挂钩到我的url文件中,但这里是麻烦开始的地方:我可以,感谢Django的pythonic结构,检索内部的Page模型urls.py,并相应地生成我的url模式,它确实显示,但Django似乎缓存了该文件(通常很有意义),因此只有在服务器重启后才会进行更改.这显然是不可接受的.

我的第一个想法是以某种方式使管理员应用程序重置url缓存,如果添加或删除新页面,或修改别名(并且只有那时,因为缓存通常是一件好事),但我不知道如何开始那里.

或者也许还有一个我目前没有看到的更简单的解决方案?

urls.py看起来的相关部分基本上是这样的:

from sitemanager.models import Page
static_pages = Page.objects.filter(static=True)
article_pages = Page.objects.filter(static=False)
for page in static_pages:
    pattern = r'^/'+page.alias+'/$'
    urlpatterns += patterns('',
        url(pattern, 'views.static_page',
            { 'active': page }
        )
    )
# Pretty much the same for the article pages,
# but with includes of another app
Run Code Online (Sandbox Code Playgroud)

我希望在我的头脑中删除代码时,我没有犯过太多错误!

python django django-urls

13
推荐指数
1
解决办法
2万
查看次数

Python错误:未定义名称"admin"

我是第一次在Django中创建一个Python应用程序.我知道我必须取消注释urls.py中的管理工具,我已经这样做了.我还补充说autodiscover.每次我尝试向管理面板添加新功能时,都会收到以下错误:

"NameError:名称'admin'未定义"

以下是我在模型中使用的代码,用于添加到管理面板:

class ChoiceInline(admin.StackedInline):
    model = Choice
    extra = 3

    class PollAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['question']}),
        ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]
    inlines = [ChoiceInline]
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的python终端中的代码

admin.site.register(Poll, PollAdmin)
Run Code Online (Sandbox Code Playgroud)

这是我的urls.py中的代码:

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

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'iFriends.views.home', name='home'),
    # url(r'^iFriends/', include('iFriends.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-urls django-admin

13
推荐指数
3
解决办法
2万
查看次数

将url参数传递给ListView查询集

models.py

class Lab(Model):
    acronym = CharField(max_length=10)

class Message(Model):
    lab = ForeignKey(Lab)
Run Code Online (Sandbox Code Playgroud)

urls.py

urlpatterns = patterns('',
    url(r'^(?P<lab>\w+)/$', ListView.as_view(
        queryset=Message.objects.filter(lab__acronym='')
    )),
)
Run Code Online (Sandbox Code Playgroud)

我想将lab关键字参数传递给ListView查询集.这意味着如果lab等于TEST,则生成的查询集将是Message.objects.filter(lab__acronym='TEST').

我怎样才能做到这一点?

django django-urls

13
推荐指数
2
解决办法
9757
查看次数

urls django中'^ $'和''之间的区别

django中以下两个url模式有什么区别?

url(r'^$', views.indexView, name='index'),

url(r'', include('registration.urls'))
Run Code Online (Sandbox Code Playgroud)

据我所知,'^ $'和''引用一个空字符串.'^ $'和''实际指定了什么?

python regex django django-urls

13
推荐指数
2
解决办法
1万
查看次数