私信  •  关注

arjun

arjun 最近创建的主题
arjun 最近回复了
3 月前
回复了 arjun 创建的主题 » 如何在Django注册后自动登录?

您可以这样验证新注册的用户

from django.contrib.auth import login, authenticate

if response.method == 'POST':
        form = RegisterForm(response.POST)
        if form.is_valid:
            form.save()
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password1')
            user =  authenticate(request,username=username, password=password)
            if user:
                login(request, user)
                return redirect..
4 月前
回复了 arjun 创建的主题 » 为Django的内置LoginView添加成功消息

你可以这样尝试:

from django.contrib.messages.views import SuccessMessageMixin

class LoginFormView(SuccessMessageMixin, LoginView):
    template_name = 'auth/login.html'
    success_url = '/success_url/'
    success_message = "You were successfully logged in."

在网址里

path('login/', LoginFormView.as_view(), name='login'),
7 月前
回复了 arjun 创建的主题 » 是否可以通过Django模板在if条件中使用模型字段?

自从你 Path 模型具有 OneToOne 与…的关系 User

{% if request.user.path.path %}
    <button class="btn btn-outline-info" onclick="function()" id='button'> Initiate Index </button>
{% else %}
    No button
{% endif %}
6 月前
回复了 arjun 创建的主题 » Django如何在模板中设置model1.model2.all()?

首先你需要通过 model1 通过如下上下文实例到模板:

   def your_view(request,pk):
      model1_instance = YourModel.objects.get(pk=pk)
      return render(request,'your_template',{'model1':model1_instance})

现在在你的模板中 {% for model2 in model1.model2_set.all %} 应该有用。

编辑: 如果已将queryset传递给模板,则可以这样做

{% for obj1 in your_model1_queryset %}
   {% for obj2 in obj1.model2_set.all %}
      ...
   {% endfor %}
 {% endfor %}
7 月前
回复了 arjun 创建的主题 » 如何在Django的注册表中添加两个模型?

自从你 Profile 模型连接到 User 模型通过 OneToOne 关系,因此您需要将用户分配给您的配置文件,如下所示:

if user_form.is_valid() and profile_form.is_valid():
user = user_form.save() profile = profile_form.save(commit = False)
# assign user to your profile
profile.user = user profile.save()
return redirect('login')
7 月前
回复了 arjun 创建的主题 » Django错误:没有匹配查询

我看不出有什么地方可以创造 user_register_model 。如果要添加当前登录的用户,可以执行以下操作:

request.user 将为您提供当前登录的用户,因此为此用户必须登录。

    @login_required
    def buy_form(request):
    if request.method == 'POST':
        usr_buy = user_buy_form(request.POST)
        if usr_buy.is_valid():
            usr_buys = usr_buy.save(commit=False)
            usr_buys.users = request.user
            usr_buys.save()
            return redirect('some_path') # redirect to some path after saving the form 

类名通常应该使用CapWords约定。

8 月前
回复了 arjun 创建的主题 » 如何在消息django中添加空行?

您可以为此使用额外的_标记:

messages.error(request, 'A soma das despesas correntes e das despesas de capital <br> ultrapassam o valor total do projeto.', extra_tags='safe')

现在在模板中

{% for message in messages %}
    {{message|safe}}
{% endfor %}
8 月前
回复了 arjun 创建的主题 » noreversematch at/django模板呈现

如果试图重定向到空路径,则需要更改此

return redirect (' ')

return redirect ('/')

产科加强生命支持 你需要在模板中渲染并传递jedelo对象,我在这里没有看到。

def hotovo(request, jedlo_id):
  jedlo=
  VyberJedla.objects.get(pk=jedlo_id)
  jedlo.vybrane = True
  jedlo.save()

  return render(request,'your_template',{'jedlo':jedlo})

编辑:在模板中,使用循环变量迭代对象 zoznam 所以不是 jedlo.id 使用 zoznam.id

  <h1><a href="{% url 'hotovo' zoznam.id 
%}" class="hotovo"> 

确保 佐兹南.id 一定是一样的 VyberJedla 模型对象。