django - 每个用户具有唯一 url 和用户内容的页面
问题描述
我正在尝试构建一个应用程序,其中每个用户都有自己的数据库内容,但在一个页面/url 上列出了一些(选择的)数据库内容并公开可见。我做了很多研究,但无法想出这是如何工作的逻辑。我在 URL 中有一个用户名,但是当我将其更改为其他用户名时,内容并没有改变......我在这里错过了什么步骤?
视图.py
def public_view(request, username):
if request.user.is_authenticated():
info = Profile.objects.filter(user=request.user)
instance = Parent.objects.filter(user=request.user)
childs = Child.objects.filter(user=request.user)
u = MyUser.objects.get(username=username)
context = {
'info': info,
'instance': instance,
'childs': childs,
'u': u,
}
return render(request, 'public/public_home.html', context)
else:
raise Http404
网址.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^user/(?P<username>\w+)/$', views.public_view, name='public_view'),
]
解决方案
在您看来,您可以在查询集中获取当前用户request.user
的数据。您应该更改查询集的参数 tu
对象:
def public_view(request, username):
if request.user.is_authenticated():
u = MyUser.objects.get(username=username)
info = Profile.objects.filter(user=u)
instance = Parent.objects.filter(user=u)
childs = Child.objects.filter(user=u)
context = {
'info': info,
'instance': instance,
'childs': childs,
'u': u,
}
return render(request, 'public/public_home.html', context)
else:
raise Http404
推荐阅读
- ios - Firestore 是否下载 getDocuments() 上的所有文档
- go - tyk 无法在 Windows 上构建
- swift - 如何禁用/停止(showLoginAlert)功能的出现?
- excel-formula - 如何将连接单元格中的值获取到另一个单元格的公式中间
- python - How to find element by without class or title in selenium?
- java - 在android中创建动态按钮
- javascript - Webpack 没有在我的 JS 文件中捆绑所有功能
- simd - AVX512 中是否有类似 _mm512_sign_epi16 (__m512i a, __m512i b) 的功能
- python-3.x - Kubernetes Python 客户端连接问题
- scala - 函数可以接收参数数量不足的元组吗?