我正在使用Django 1.4.5并意外删除了超级用户.如何为现有项目重新创建超级用户帐户?我找到了在最初设置项目时显示的教程,但无法弄清楚如何为现有项目创建超级用户.
我确实django-admin.py createsuperuser在终端试了没有运气
我很感激时间和反馈.
我创建了一个配置文件模型来扩展默认的django用户(使用django 1.6)但是我无法正确保存配置文件模型.
这是我的模型:
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User)
mobilephone = models.CharField(max_length=20, blank=True)
Run Code Online (Sandbox Code Playgroud)
这是我的celery-task,用于从wdsl文件更新personrecords:
@task()
def update_local(user_id):
url = 'http://webservice.domain.com/webservice/Person.cfc?wsdl'
try:
#Make SUDS.Client from WSDL url
client = Client(url)
except socket.error, exc:
raise update_local.retry(exc=exc)
except BadStatusLine, exc:
raise update_local.retry(exc=exc)
#Make dict with parameters for WSDL query
d = dict(CustomerId='xxx', Password='xxx', PersonId=user_id)
try:
#Get result from WSDL query
result = client.service.GetPerson(**d)
except (socket.error, WebFault), exc:
raise update_local.retry(exc=exc)
except BadStatusLine, exc:
raise update_local.retry(exc=exc)
#Soup the result
soup = BeautifulSoup(result) …Run Code Online (Sandbox Code Playgroud) 在我的小型 Django 项目中,用户可以注册并通过填写一些 ModelForms 来使用他们自己的数据填充现有模型。
问题是,登录后,任何用户不仅可以看到自己的数据,还可以看到其他用户创建的数据。我需要避免这种情况。
每个用户都应该能够查看、修改和与他们自己的数据进行交互。
每个模型都有一个ForeignKey链接到User.
我可能在视图中遗漏了什么吗?
它们只是不引用的基于类的视图User,它们只有LoginRequiredMixin装饰器。
对于登录视图,我使用的是 Django 标准,对于注册视图,我创建了一个UserFormView.
# Register page
url(r'^register/$', views.UserFormView.as_view(), name='register'),
# Login page
url(r'^accounts/login/$', auth_views.LoginView.as_view(), name='login'),
Run Code Online (Sandbox Code Playgroud)
以下是我的看法:
class AllProgramsView (LoginRequiredMixin, generic.ListView):
template_name = 'programs/index.html'
context_object_name = 'programs_list'
def get_queryset(self):
return Program.objects.all()
class ProgramDetailView (LoginRequiredMixin, generic.DetailView):
model = Program
template_name = 'programs/program.html'
class ProgramCreate(LoginRequiredMixin, CreateView):
model = Program
form_class = ProgramFormClass
class ProgramUpdate(LoginRequiredMixin, UpdateView):
model = Program
form_class = ProgramFormClass
Run Code Online (Sandbox Code Playgroud)
在models.py …
我只是在玩 Django 登录和注销阶段。我有一个登录页面,如果用户使用“GET”获取它,他就会获取表单,如果他提交表单,它就会提交给相同的view.login函数。问题是当我尝试使用\' if request.method==\'POST\'. 我收到一个错误\'User has not attribute method\',我不明白,为什么\'User\'传递的是对象而不是request对象?\n这里是views.py的代码:
from django.shortcuts import render\nfrom django.http import HttpResponse, Http404, HttpResponseRedirect\nfrom .models import Flight,Passenger\nfrom django.urls import reverse\nfrom django.contrib.auth import authenticate,login, logout\nfrom django.contrib.auth.models import User\n\n\ndef index(request):\n if not request.user.is_authenticated:\n return render(request,"login.html")\n\n context={\n "flights":Flight.objects.all()\n }\n return render(request,"index.html",context)\n\ndef flight(request,flight_id):\n flight= Flight.objects.get(pk=flight_id)\n passengers = flight.passengers.all()\n non_passengers = Passenger.objects.exclude(flight=flight).all()\n context={\n "flight":flight,\n "passengers":passengers,\n "non_passengers":non_passengers\n }\n return render(request,"flight.html",context)\n\ndef book(request,flight_id):\n passenger_id = int(request.POST["passenger"])\n flight = Flight.objects.get(pk=flight_id)\n passenger = Passenger.objects.get(pk=passenger_id)\n …Run Code Online (Sandbox Code Playgroud)