我有一个迷你应用程序,用户可以登录,查看他们的个人资料,并互相关注."跟随"是一种关系,就像虚拟社区中的常规"朋友"关系一样,但它不一定是互惠的,这意味着人们可以跟随用户,而不需要用户跟随跟随他的那个人.我的问题是:如果我是登录用户,并导航到配置文件X,按下按钮跟随,我如何获取当前配置文件ID?(当前配置文件意味着我,登录用户的配置文件,我现在观看.)
风景:
def follow(request):
if request.method == 'POST':
form = FollowForm(request.POST)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.initiated_by = request.user
u = User.objects. what here?
new_obj.follow = u
new_obj.save()
return HttpResponseRedirect('.')
else:
form = FollowForm()
return render_to_response('followme/follow.html', {
'form': form,
},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
提前致谢!
在迷你虚拟社区中,我有一个profile_view功能,以便我可以查看任何注册用户的个人资料.配置文件视图功能具有配置文件所属的用户的id作为参数,因此当我想访问用户2的配置文件时,我称之为:http://127.0.0.1: 8000 /账户/ profile_view/2 /
我的问题是我想在网址中使用用户名,而不是ID.我尝试按如下方式修改我的代码,但它仍然不起作用.这是我的代码:
视图:
def profile_view(request, user):
u = User.objects.get(pk=user)
up = UserProfile.objects.get(created_by = u)
cv = UserProfile.objects.filter(created_by = User.objects.get(pk=user))
blog = New.objects.filter(created_by = u)
replies = Reply.objects.filter(reply_to = blog)
vote = Vote.objects.filter(voted=blog)
following = Relations.objects.filter(initiated_by = u)
follower = Relations.objects.filter(follow = u)
return render_to_response('profile/publicProfile.html', {
'vote': vote,
'u':u,
'up':up,
'cv': cv,
'ing': following.order_by('-date_initiated'),
'er': follower.order_by('-date_follow'),
'list':blog.order_by('-date'),
'replies':replies
},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
和我的网址:
urlpatterns = patterns('',
url(r'^profile_view/(?P<user>\d+)/$',
profile_view,
name='profile_view'),
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我有一个微博应用程序,我正在尝试对条目进行分页,例如每页只显示10个.虽然我已经按照教程,我的分页似乎没有工作.
列表函数看起来像这样:
def listing(request):
blog_list = Blog.objects.all()
paginator = Paginator(blog_list, 10)
try:
page = int(request.GET.get('page','1'))
except ValueError:
page = 1
try:
posts = paginator.page(page)
except (EmptyPage, InvalidPage):
posts = paginator.page(paginator.num_pages)
return render_to_response('profile/publicProfile.html', {"posts": posts})
Run Code Online (Sandbox Code Playgroud)
在我的模板中:
<div class="pagination">
<span class="step-links">
{% if posts.has_previous %}
<a href="?page={{ posts.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
</span>
{% if object.has_next %}
<a href="?page={{ posts.next_page_number }}">next</a>
{% endif %}
</span>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个隐私表,其中我选择了当访问用户个人资料时应隐藏哪些应用程序。该表单包含多个复选框,用户检查他想隐藏的内容。我想要的是,当用户访问此表单时,该表单将成为已保存的隐私表单的一个实例(如果存在)。我的意思是,如果我已经选中了隐藏应用程序1,则当我再次访问该表单时,将选中相应的复选框。
我的代码:
def save_privacy(request):
if request.method == 'POST':
try:
u = Privacy.objects.get(user_privacy = request.user)
form = PrivacyForm(request.POST, instance=u )
except ObjectDoesNotExist:
form = PrivacyForm(request.POST, request.FILES)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.user_privacy = request.user
new_obj.save()
return HttpResponseRedirect('/accounts/private_profile/')
else:
form = PrivacyForm()
return render_to_response('privacy/set_privacy.html', {
'form': form,
},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
和我的表格:
class PrivacyForm(ModelForm):
class Meta:
model = Privacy
fields = ['restrict_cv','restrict_blog','friends_of_friends','restrict_followers','restrict_following']
Run Code Online (Sandbox Code Playgroud) 我有一个按姓名搜索的功能,如果搜索与名字或姓氏匹配,则应该返回一个人的姓名.问题是,如果我搜索像'firstname lastname'这样的字符串,它找不到匹配的名称(猜测是因为单词之间的空格).我应该怎么做才能找到合适的搜索?此外,如果我想用相同的搜索搜索用户名(在另一个表中)我该怎么办?非常感谢!
我的代码:
def search(request):
query = request.GET.get('q', '')
if query:
qset1 = (
Q(first_name__icontains=query) |
Q(last_name__icontains=query)
)
results = UserProfile.objects.filter(qset1).distinct()
else:
results = []
return render_to_response("search/searchName.html", {
'results': results,
'query': query},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud) 我有一个CSS文件,我想对其进行修改以满足我的需要。问题是它似乎被缓存在某个地方,因为无论我在css文件中做什么,我都看不到更改。我确定我指向的是正确的文件,因为到目前为止,我已经对其进行了修改,并且可以正常工作。有什么设置可以关闭缓存吗?谢谢!
我正在尝试在用户的计算机上创建用于下载上载文件的脚本.问题是下载根本不起作用(它要么下载我一个空文件,要么给我一些错误).
最后一个错误是:强制转换为Unicode:需要字符串或缓冲区,找到FieldFile
def download_course(request, id):
course = Courses.objects.get(pk = id).course
path_to_file = 'root/cFolder'
filename = course # Select your file here.
wrapper = FileWrapper(file(course))
content_type = mimetypes.guess_type(filename)[0]
response = HttpResponse(wrapper, content_type = content_type)
response['Content-Length'] = os.path.getsize(filename)
response['Content-Disposition'] = 'attachment; filename=%s/' % smart_str(course)
return response
Run Code Online (Sandbox Code Playgroud)
如何正确声明文件名,以便每次都知道要下载的文件:文件名实际上是'course',如上所述
谢谢 !
我注意到存储表中最大id的两个变量,以及来自同一个表的最小id.
使用find()和类似的查询,第一个id很容易被采用
$first = Model::factory('product')->sale($sale_id)->find();
Run Code Online (Sandbox Code Playgroud)
但我如何检索最后一个ID?Kohana 3 ORM中有一个排序选项吗?谢谢!
我试图在悬停时在链接周围放置边框,并且样式适用于它,但是当我将鼠标悬停在它上面时它会跳跃(元素跳跃)...我该怎么办?码:
.navigation li:hover {
border: 1px solid #ccc;
}
Run Code Online (Sandbox Code Playgroud) 我想知道如果控制器没有"控制"一个表格,我是否可以在kohana控制器中获得带有$ _post的变量.
所以,如果我在视图中插入类似于:
<form name="ordering" id="ordering" method="post" action="">
<input type="hidden" id="ordering" value="0">
<select id="ordering" name="ordering">
....
Run Code Online (Sandbox Code Playgroud)
在控制器中我把:
$ordering = $_POST['ordering'];
Run Code Online (Sandbox Code Playgroud)
但是给了我一个错误
要么
if ($this->request->method == 'POST') {
$ordering = $_POST['ordering'];
}
Run Code Online (Sandbox Code Playgroud)
但在这种情况下它永远不会到达那里(在这堆代码中).
所以我的问题是:如果控制器只处理一个表单,如何在控制器中检索$ _post变量?谢谢!