Django Can';t使用“创建自定义身份验证模型”;如果user.is“u authenized”;在html中
嗨,我正在尝试在我的html文件中创建一个注册链接。但它只有在我已经登录时才起作用 设置.pyDjango Can';t使用“创建自定义身份验证模型”;如果user.is“u authenized”;在html中,django,django-authentication,Django,Django Authentication,嗨,我正在尝试在我的html文件中创建一个注册链接。但它只有在我已经登录时才起作用 设置.py AUTH_USER_MODEL = 'users.User' from django.db import models from django.contrib.auth.models import AbstractUser from django.urls import reverse_lazy class User(AbstractUser): # Address plz = m
AUTH_USER_MODEL = 'users.User'
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.urls import reverse_lazy
class User(AbstractUser):
# Address
plz = models.CharField(max_length=5)
ort = models.CharField(max_length=30)
strasse = models.CharField(max_length=30)
strnr = models.CharField(max_length=5)
# Kontakt
mobil = models.CharField(max_length=20)
class UserCreate(CreateView):
model = User
form_class = UserCreate
template_url_suffix = '_create_form'
def get_context_data(self, **kwargs):
context = super(UserCreate, self).get_context_data(**kwargs)
context['head'] = 'Account erstellen'
return context
url(r'^user/create/$', views.UserCreate.as_view(), name='user-create'),
型号.py
AUTH_USER_MODEL = 'users.User'
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.urls import reverse_lazy
class User(AbstractUser):
# Address
plz = models.CharField(max_length=5)
ort = models.CharField(max_length=30)
strasse = models.CharField(max_length=30)
strnr = models.CharField(max_length=5)
# Kontakt
mobil = models.CharField(max_length=20)
class UserCreate(CreateView):
model = User
form_class = UserCreate
template_url_suffix = '_create_form'
def get_context_data(self, **kwargs):
context = super(UserCreate, self).get_context_data(**kwargs)
context['head'] = 'Account erstellen'
return context
url(r'^user/create/$', views.UserCreate.as_view(), name='user-create'),
forms.py
AUTH_USER_MODEL = 'users.User'
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.urls import reverse_lazy
class User(AbstractUser):
# Address
plz = models.CharField(max_length=5)
ort = models.CharField(max_length=30)
strasse = models.CharField(max_length=30)
strnr = models.CharField(max_length=5)
# Kontakt
mobil = models.CharField(max_length=20)
class UserCreate(CreateView):
model = User
form_class = UserCreate
template_url_suffix = '_create_form'
def get_context_data(self, **kwargs):
context = super(UserCreate, self).get_context_data(**kwargs)
context['head'] = 'Account erstellen'
return context
url(r'^user/create/$', views.UserCreate.as_view(), name='user-create'),
我定制了原始UserCreationForm以实现附加字段:
class UserCreate(forms.ModelForm):
--snip--
class Meta:
model = User
fields = ('username', 'password1', 'password2', 'first_name',
'last_name', 'email', 'mobil', 'plz', 'ort',
'strasse', 'strnr',)
视图.py
AUTH_USER_MODEL = 'users.User'
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.urls import reverse_lazy
class User(AbstractUser):
# Address
plz = models.CharField(max_length=5)
ort = models.CharField(max_length=30)
strasse = models.CharField(max_length=30)
strnr = models.CharField(max_length=5)
# Kontakt
mobil = models.CharField(max_length=20)
class UserCreate(CreateView):
model = User
form_class = UserCreate
template_url_suffix = '_create_form'
def get_context_data(self, **kwargs):
context = super(UserCreate, self).get_context_data(**kwargs)
context['head'] = 'Account erstellen'
return context
url(r'^user/create/$', views.UserCreate.as_view(), name='user-create'),
url.py
AUTH_USER_MODEL = 'users.User'
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.urls import reverse_lazy
class User(AbstractUser):
# Address
plz = models.CharField(max_length=5)
ort = models.CharField(max_length=30)
strasse = models.CharField(max_length=30)
strnr = models.CharField(max_length=5)
# Kontakt
mobil = models.CharField(max_length=20)
class UserCreate(CreateView):
model = User
form_class = UserCreate
template_url_suffix = '_create_form'
def get_context_data(self, **kwargs):
context = super(UserCreate, self).get_context_data(**kwargs)
context['head'] = 'Account erstellen'
return context
url(r'^user/create/$', views.UserCreate.as_view(), name='user-create'),
如果我已登录,我可以使用该链接创建用户实例:
base.html
<body>
<ul>
<li><a href="{% url 'users:home' %}">Home</a></li>
<li><a href="{% url 'users:user-create' %}">register</a></li>
{% if user.is_authenticated %}
<li><a href="{% url 'users:user-detail' user.id %}">Account</a></li>
{% if user.sportler %}
<li><a href="{% url 'users:sportler-detail' user.sportler.id %}">Sportler</a></li>
{% else %}
<li><a href="{% url 'users:sportler-create' %}">Sportler werden</a></li>
{% endif %}
....
{%if user.u经过身份验证%}
{%if user.sportler%}
{%else%}
{%endif%}
....
如果没有登录,我如何使其工作
错误:找不到参数为“(无,)”的“用户详细信息”的反转。已尝试1个模式:[“用户/(?P[0-9]+)/detail/$”]
我在我的创作表单中有一个反向链接。叫我莫伦
<a href="{% url 'users:user-detail' user.id %}"><button>Zurück</button></a>
将其编辑为
,它可以工作…发布完整的html或至少用户详细信息
使用partUser detail不应被调用。不是在创建或搜索成功url时。用户在哪里?尝试request.user而不是itt这个问题与它的标题完全没有关系。可能是重复的