我计划将Django用于多站点项目,其中每个站点大多是独立的,但是会在所有站点之间共享一些模型.
我想知道是否有办法让每个Django'应用'它自己的网站,完整的独特的域名,并仍然允许每个网站访问包含用户帐户,配置文件等的一些模型的常见应用程序.
该计划允许单点登录到每个站点,通过公共应用程序共享帐户信息,并在用户登录后为每个站点创建cookie.
我知道Django有一个"网站"功能,但我不确定它是否足够强大以满足我的需求.
任何人都可以推荐一种方法来做到这一点或指向我可能有帮助的任何文章?
UPDATE
只是想知道,是否有可能通过apache,并可能对urls.py进行一些修改,以便能够将某个域指向url结构?
例如,假设主站点是mainsite.com,我希望其他域之一指向mainsite.com/secondarysite,其中secondarysite是同一实例中的django应用程序,并且apache掩盖了secondarysite的事实. com域实际上是指向不同的位置?
我试图在我的Linux机器上安装newgem(sudo gem install newgem),我收到以下错误:
Building native extensions. This could take a while...
ERROR: Error installing newgem:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install newgem
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:1
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/RedCloth-4.0.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/RedCloth-4.0.4/ext/redcloth_scan/gem_make.out
Run Code Online (Sandbox Code Playgroud)
问题是什么?
我有一个基本的ruby类:
class LogEntry
end
Run Code Online (Sandbox Code Playgroud)
我想要做的是能够定义一个具有几个值的哈希,如下所示:
EntryType = { :error => 0, :warning => 1, :info => 2 }
Run Code Online (Sandbox Code Playgroud)
这样我就可以访问像这样的值(或类似的东西):
LogEntry.EntryType[:error]
Run Code Online (Sandbox Code Playgroud)
这在Ruby中甚至可能吗?我正确地走这条路吗?
所以我有这个方法:
internal K GetValue<T, K>(T source, string col) where T : IBaseObject
{
string table = GetObjectTableName(source.GetType());
DataTable dt = _mbx.Tables[table];
DataRow[] rows = dt.Select("ID = " + source.ID);
if (rows.Length == 0) return K;
return (K) rows[0][col];
}
Run Code Online (Sandbox Code Playgroud)
如果没有找到行,我希望能够返回null或某种空值.这样做的正确语法是什么?
我的客户端有一个在CodeIgniter上运行的站点(我没有创建它,对CI知之甚少),他们想添加丢失的密码功能,我不知道如何使用CI实现此功能.我知道PHP的大部分经验来自WordPress.
有人能指出我正确的方向来实施这种事情的最佳做法吗?
在Play框架中,我有一些模型,其中的字段是对其他模型的对象引用.当我使用renderJSON时,我不希望包含这些对象引用.目前,根据我的需要,我创建了一个单独的视图模型类,其中包含我想要的字段,并在控制器中根据需要创建此视图类的实例.理想情况下,我希望能够使用模型类本身,而无需编写视图类.
有没有办法注释一个字段,以便在使用renderJSON时不会序列化?
我正在研究一个新的rails应用程序的管理部分,我正在尝试设置一些路线来"正确"做事.我有以下控制器:
class Admin::BlogsController < ApplicationController
def index
@blogs = Blog.find(:all)
end
def show
@blog = Blog.find(params[:id])
end
...
end
Run Code Online (Sandbox Code Playgroud)
在routes.rb中:
map.namespace :admin do |admin|
admin.resources :blogs
end
Run Code Online (Sandbox Code Playgroud)
在views/admin/blogs/index.html.erb中:
<% for blog in @blogs %>
<%= link_to 'Delete', admin_blog(blog), :method => :delete
<% end %>
Run Code Online (Sandbox Code Playgroud)
我已经确认路线存在:
admin_blogs GET /admin/blogs {:action => "index", :controller=>"admin/blogs"}
admin_blog GET /admin/blogs/:id {:action => "show", :controller => "admin/blogs"}
....
Run Code Online (Sandbox Code Playgroud)
但是当我尝试查看http:// localhost:3000/admin/blogs时,我收到此错误:
undefined method 'admin_blog' for #<ActionView::Base:0xb7213da8>
Run Code Online (Sandbox Code Playgroud)
我哪里出错了,为什么?
我有一个基本的ActiveRecord模型,其中我有两个我想验证的字段.要求是至少有一个字段必须具有值.两者都可以有值,但至少有一个需要值.
我如何表达这一点
validates_presence_of
Run Code Online (Sandbox Code Playgroud)
声明?例如:
validates_presence_of :main_file
validates_presence_of :alt_file
Run Code Online (Sandbox Code Playgroud)
如果只有其中一个为空,我不希望生成错误,只有两者都是空的.
我遇到SWF文件问题.我在我的HTML页面上有一个SWF文件,我需要将它链接到我使用的另一个HTML但锚不起作用.任何人都可以帮助我.如何链接SWF文件.谢谢
使用Play!框架,我有以下两个模型:
@Entity
public class User extends Model {
public String firstName;
public String lastName;
public String email;
public String password;
public boolean isAdmin;
@OneToMany(mappedBy="id", cascade=CascadeType.ALL)
public List<Site> sites;
public User(String firstName, String lastName, String email, String password) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.password = password;
}
public static User connect(String email, String password) {
return User.find("byEmailAndPassword",email,Crypto.passwordHash(password)).first();
}
public static User findUser(String email) {
return User.find("byEmail",email).first();
}
public static User createUser(String firstName, String lastName, String email, …Run Code Online (Sandbox Code Playgroud)