python - Django 将反向 url 获取到变量中

标签 python django

我想要一个反向 URL 到一个变量中。我必须使用应用程序。一个帐户和另一个个人资料。

我的主网址

urlpatterns = patterns('',      
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', views.index, name='index'),
    url(r'^account/', include('account.urls', namespace="account")), 
    url(r'^profiles/', include('profiles.urls', namespace="profiles")),
)

我的个人资料应用程序网址

urlpatterns = patterns('',
    url(r'^view/(?P<username>\w+)/$', views.profile, name="profile"),
)

我的帐户应用程序网址

urlpatterns = patterns('',
    url(r'^message/add_new/$', views.new_message, name='new_message'),

) 

我的帐户应用程序 View

def new_message(request):
    if request.user.is_authenticated():
        sender_username = request.user.username
        sender_url = reverse('prfiles.views.profile', args=(sender_username,))

但我收到“NoReverseMatch at”错误。请建议我一个更好的方法来解决这个问题。

最佳答案

恕我直言,prfiles.views.profile 似乎是拼写错误。

修复拼写错误(如果有)或使用 URL 模式名称而不是 View 名称。

sender_url = reverse('profiles:profile', args=(sender_username,))

参见Reversing namespaced URLs | Django documentation .

关于python - Django 将反向 url 获取到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21059326/

相关文章:

python - Django/Python 世界中是否有与 WordPress 的 SimplePie 插件等效的东西?

python - 在 Ubuntu 16.04 上找不到 django==3.0 的匹配发行版

Django 过滤通用关系

python - 如何从预训练模型中删除正则化?

python - 请求 SSL : CERTIFICATE_VERIFY_FAILED with verify ="./cabundle.crt"

python:正则表达式匹配字符串且仅匹配字符串

linux - Shell 脚本无法识别声明的变量

python - Celery 拒绝反序列化我的自定义序列化内容并抛出 ContentDisallowed Exception

python - 使用 python-xlsxwriter 或 bash 打开受密码保护的 ods 文件

具有程序逻辑或多个使用内联的 Django 内联表单集?