Django 具有适当用户身份验证和集成支持的web应用程序项目平台建议

Django 具有适当用户身份验证和集成支持的web应用程序项目平台建议,django,web-applications,frameworks,Django,Web Applications,Frameworks,因此,我有一个想法,建立一个网络应用程序。我对这个行业不熟悉,但我是一名程序员。我喜欢Python,我想让我从Django开始。我遇到了内置Django用户身份验证系统的问题 简言之,我正在使用Django的内置用户身份验证,并认为它可以轻松地填充模型中的用户字段(foreignkey),但事实并非如此。我在谷歌上搜索并问了一些问题,但得到的答案非常复杂,或者如果我想要这样的东西,我必须使用管理部分 我的简单需求是,每当用户在其配置文件中保存任何内容时,都应该填充用户字段,以便我可以引用它。对我

因此,我有一个想法,建立一个网络应用程序。我对这个行业不熟悉,但我是一名程序员。我喜欢Python,我想让我从Django开始。我遇到了内置Django用户身份验证系统的问题

简言之,我正在使用Django的内置用户身份验证,并认为它可以轻松地填充模型中的用户字段(foreignkey),但事实并非如此。我在谷歌上搜索并问了一些问题,但得到的答案非常复杂,或者如果我想要这样的东西,我必须使用管理部分

我的简单需求是,每当用户在其配置文件中保存任何内容时,都应该填充用户字段,以便我可以引用它。对我来说,这似乎是任何网络应用最基本的需求

我错了吗。我需要建议。如果Django在这方面做得不好,那么如果需要,我准备学习任何其他好的框架或平台

简而言之,我正在使用Django的内置 用户身份验证,并认为它将 轻松填写“我的用户”字段 foreignkey)但它确实 不是

这不会只是奇迹般地发生。你必须让它发生。模型与请求分离,因此这将发生在视图中,或者传递给活动用户的模型方法(可能是
save

MVC/MTV设计将数据库与视图/控制逻辑分离。我不知道框架与此有什么关系:除非您自己编写功能,否则数据库不知道如何处理某些用户表和当前登录的用户(也与数据分离)。构建此功能也会给很多人带来不便

一般来说,python/django的理念是:显式优于隐式

现在,解决方案是: 如果希望在视图中显示此行为,对于任何形式,您都可以编写:

instance = MyForm.save(commit=False) # commit=False prevents DB save.
instance.user = request.user
instance.save()
您可以在接受可选用户参数的模型上覆盖save方法

def save(self, *args, **kwargs):
    user = kwargs.pop(user, None)
    self.user = user
    super(MyModel, self).save(*args, **kwargs)

 mymodel = MyModel()
 mymodel.save(user=request.user)

当我说
mymodel=mymodel()
时,它说mymodel没有定义。我应该把最后两行代码放在哪里
mymodel=mymodel()mymodel.save(user=request.user)
我需要在我的views.py中导入一些东西吗?这是伪代码。我无法读懂你的心思,也不知道你称你的模型是什么(不幸的是)。使用commit=False保存您的模型表单,或者重写您的模型保存方法(如上所示),对此表示抱歉。我认为问题在于我的
if表单.is\u valid():
检查失败。控件从不进入
if
语句的内部。奇怪的