有没有办法关闭这种模式?我必须在事故中点击它,现在它变得非常烦人.
我查看了首选项和透视图窗格,但没有看到任何内容.有谁知道这个选项配置在哪里?
所以我正在编写一个基于Django的网站,允许用户通过管理界面选择配色方案.
我已经有中间件/上下文处理器将当前请求(基于域)链接到帐户.
我的问题是如何使用帐户的自定义配色方案动态提供CSS.
我看到两个选择:
将CSS块添加到基本模板,该模块将覆盖通过上下文处理器传入的变量的样式.
使用自定义URL(例如"/ static/dynamic/css/<website_id> /styles.css"),该URL将路由到一个视图,该视图将获取所有必需的值并创建css文件.
我满足于任何一个选项,但想知道是否有其他人处理过类似的问题,并且可以对"最佳实践"提供一些见解.
更新:我倾向于选项2,因为我认为这将允许更好的缓存.所以它是第一次动态,存储在memcache(或其他)中,并在用户更新管理站点中的设置时失效.
更新:首先,我要感谢大家的建议.到目前为止,所有答案都集中在生成静态文件.虽然这在生产中很有用,但在开发过程中感觉像是一个巨大的负担.如果我想添加一个要设置样式的新元素,或者调整现有样式,我必须完成并重新创建每个css文件.当然,这可以通过管理命令来完成,但我觉得这不值得.动态地执行它会为每个页面加载添加1个或2个查询,这是我在此阶段不担心的事情.我需要知道的是,在某些时候我将能够在不重写整个事物的情况下对其进行缓存.
如何通过所有类访问枚举.让我解释:
enum
{
BottomBackButtonNav = 0,
BottomNextButtonNav,
BottomSliderIncreaseNav,
BottomSliderDcreaseNav,
PageSwipeLeftNav,
PageSwipeRightNav,
NavFromThumbnailView,
NavFromTOCView,
} NavigationType;
Run Code Online (Sandbox Code Playgroud)
这个枚举在我的MainViewController的标题中定义,并希望将它用于我的所有视图.怎么做,请指导.
问候.
models.py
class Team(models.Model):
name = models.CharField(max_length=25, unique=True)
def __unicode__(self):
return self.name
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
team = models.ForeignKey(Team, unique=True)
Run Code Online (Sandbox Code Playgroud)
settings.py:
AUTH_PROFILE_MODULE = 'project.pm.UserProfile'
Run Code Online (Sandbox Code Playgroud)
views.py
if request.method == 'POST':
r = RegisterForm(request.POST)
if r.is_valid():
team = Team(name=request.POST.get('team'))
team.save()
user = User.objects.create_user(username=request.POST.get('email'),
email=request.POST.get('email'),
password=request.POST.get('password'))
user.get_profile.team = team.id
user.save()
Run Code Online (Sandbox Code Playgroud)
我有错误在线 user.get_profile.team = team.id
/ register'instancemethod'对象的AttributeError没有属性'team'
我该如何解决这个错误?