我已按照Spree的说明进行设置,我让它在开发模式下工作.我使用Capistrano部署到机架空间到生产服务器,但是相同的默认登录("spree@example.com"/"spree123")不起作用.我在Web界面中创建了一个用户,但当然它没有管理员权限.
指南中没有任何内容考虑到这一点 - 如果最初没有用户,如何在生产中创建管理员用户?也许我部署不正确?我使用的是非常标准的deploy.rb,是否必须有一些特定于狂欢的代码来设置它?
我正在尝试重新定义auth.User模型的管理页面.一切都正常,除了一件事.检查以下代码:
from django.contrib import admin
from django.contrib.auth.models import User
from access.models import UserProfile
class UserProfileInline(admin.StackedInline):
model = UserProfile
class UserAdmim(admin.ModelAdmin):
inlines = [UserProfileInline,]
list_display = ['id', 'username', 'get_full_name', 'email']
admin.site.unregister(User)
admin.site.register(User, UserAdmim)
Run Code Online (Sandbox Code Playgroud)
如您所见,我希望在模型页面列表中显示的一个字段 - 由list_display- 定义- 是get_full_name.问题是管理员中的列标签显示为获取全名.
我的问题很简单:我可以覆盖这个吗?如果是这样,怎么样?
谢谢你的帮助.
我有两个这样的模型:
class School(models.Model):
name = models.CharField(max_length = 50)
def __unicode__(self):
return self.name
class Education(models.Model):
user_profile = models.ForeignKey(UserProfile, related_name='Education')
school = models.OneToOneField(School)
def __unicode__(self):
return self.school
Run Code Online (Sandbox Code Playgroud)
当我想用django管理员向userprofile添加教育这个错误eccour:
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py" in wrapper
372. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
91. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
89. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py" in inner
202. return view(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapper
25. return …Run Code Online (Sandbox Code Playgroud) 这是一个问答:
最近我有一位客户来找我建立一个新的网站.他们也忘记了所有登录信息,但他们确实有FTP访问权限.
那么,如何通过代码创建管理员用户?
我只是想知道是否有人知道如何测试magento的付款方式.
我有几个问题.
我最近开始学习Laravel 5,我需要在站点内创建一个单独的管理员区域.
我已经尝试了很多文件目录结构,但我得到的大部分是Laravel 4而不是Laravel 5.
Laravel 5的结构与Laravel 4不同.
任何人都可以帮我如何设置管理员区域和路由的目录结构.
先感谢您.
我正在构建一个Web应用程序来跟踪一个人检查的图书馆书籍.我有以下型号:
class Person(models.Model):
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class Book(models.Model):
name = models.CharField(max_length=100)
person = models.ForeignKey(Person)
checkout_date = models.DateTimeField('checkout date')
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
在管理员的"人员更改列表"页面上,我想展示该人拥有的书籍.这是可以做到的吗?如果是这样,怎么样?
admin.py
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'checkout_date', 'person' )
class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'book__name')
Run Code Online (Sandbox Code Playgroud) 我正在尝试调整django 1.8 admin的多对多字段.
models.py
from django.db import models
class Material(models.Model):
type = models.CharField(max_length=20, primary_key=True)
def __unicode__(self):
return self.type
class Pen(models.Model):
label = models.CharField(max_length=20, blank=True, default='')
materials = models.ManyToManyField(Material)
Run Code Online (Sandbox Code Playgroud)
admin.py
from django.contrib import admin
from django.conf.urls import url
from .models import *
from django.forms import SelectMultiple
@admin.register(Pen)
class PenAdmin(admin.ModelAdmin):
filter_horizontal = ('materials',)
#formfield_overrides = { models.ManyToManyField: {'widget': SelectMultiple(attrs={'size':'5', 'width': '50px', 'style': 'width:50px'})}, }
def get_form(self, request, obj=None, **kwargs):
form = super(PenAdmin, self).get_form(request, obj, **kwargs)
form.base_fields['materials'].widget.attrs['style'] = 'width: 70px;'
return form
class …Run Code Online (Sandbox Code Playgroud) 我知道这个问题以前曾被问过,但建议的解决方案都不适合我。我在 Mac 上尝试将更改保存到 VS Code 文件。当我按保存时,它说
权限不足。选择“以 Sudo 身份重试”以超级用户身份重试。
当我选择“以 Sudo 身份重试”时,我输入密码并显示
无法保存...使用--file-write时出错:EPERM:不允许操作
我尝试了几种不同的方法来使用管理员权限打开 VS Code,包括使用以下命令从终端运行它:
sudo 打开 /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron
并使用命令手动将 VS Code 添加到我的路径
cat << EOF >> ~/.bash_profile
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF
Run Code Online (Sandbox Code Playgroud)
我还没有找到任何影响保存失败错误的因素,如果有人有任何建议,他们将不胜感激!
我有一个纯 PHP 编写的网站,现在我正在学习 Laravel,所以我再次重新制作这个网站来学习框架。我用过内置的AuthFasade 进行身份验证。我想了解,里面到底发生了什么,所以我决定通过定制来了解更多。现在我尝试创建一个主密码,这将允许直接访问每个帐户(就像过去所做的那样)。
不幸的是,我找不到任何帮助,也不知道如何做到这一点。当我寻找类似问题时,我只找到了解决方案,例如通过管理员登录,然后切换到另一个帐户或旧版本 Laravel 的解决方案等。
我开始Auth自己研究结构,结果迷路了,连检查密码的地方都找不到。我还在GitHub上找到了非常扩展的解决方案,因此我尝试一步一步地遵循它,但我未能做出自己的、更短的实现。在我的旧网站中,我只需要一行代码来创建主密码,但在 Laravel 中,代码是一座巨大的山,我不需要任何更改就可以爬上去。
到目前为止,我正在尝试使用hasher->check以下部分更改所有位置:
protected function validateCurrentPassword($attribute, $value, $parameters)
{
$auth = $this->container->make('auth');
$hasher = $this->container->make('hash');
$guard = $auth->guard(Arr::first($parameters));
if ($guard->guest()) {
return false;
}
return $hasher->check($value, $guard->user()->getAuthPassword());
}
Run Code Online (Sandbox Code Playgroud)
为了
return ($hasher->check($value, $guard->user()->getAuthPassword()) || $hasher->check($value, 'myHashedMasterPasswordString'));
Run Code Online (Sandbox Code Playgroud)
在ValidatesAttributes、DatabaseUserProvider、EloquentUserProvider和DatabaseTokenRepository。但这没有用。我也在关注所有实例getAuthPassword()代码的所有实例以寻找更多线索。
我的另一个解决方案是在某处放置这样的代码:
if(Hash::check('myHashedMasterPasswordString',$given_password))
Auth::login($user);
Run Code Online (Sandbox Code Playgroud)
但我在中间件、提供者或控制器中找不到合适的地方。
我已经学习了一些Auth功能,例如,我成功地更改了使用用户登录的电子邮件身份验证,但我不知道密码在这里是如何工作的。你能帮我解决我缺少的部分吗?如果有人可以向我解释我应该更改代码的哪些部分以及原因(如果不是那么明显),我将不胜感激。
我想逐行、逐个文件地跟踪代码执行,所以也许我会自己找到解决方案,但我觉得我到处跳,不知道这一切是如何相互连接的。