2024-09-16 13:59:17
导读:今天首席CTO笔记来给各位分享关于django如何生成model的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何在python文件中,引用django1.10的modelpython
-m
django
--version
如果安装了Django,您应该将看到安装的版本。如果没有安装,你会得到一个错误,提示No
module
named
django。
本教程是为Django
1.10和Python
3.4或更高版本编写的。如果Django版本不匹配,您可以去官网参考您的对应Django版本的教程,或者将Django更新到最新版本。
如果你仍然在使用Python
2.7,你需要稍微调整代码,注意代码中的注释。
创建project
如果这是你第一次使用Django,你将需要处理一些初始设置。也就是说,这会自动生成一些建立Django项目的代码,但是你需要设置一些配置,包括数据库配置,Django特定的选项和应用程序特定的设置等等。
从命令行,cd进入您将存放项目代码的目录,然后运行以下命令:
django-admin
startproject
mysite
#
mysite为项目名
如果运行出错,请参见Problems
running
django-admin。这将在目录下生成一个mysite目录,也就是你的这个Django项目的根目录。它包含了一系列自动生成的目录和文件,具备各自专有的用途。
DjangoJSON与Model互转model转JSON字符串
1、【全】JSON字符串转model
2、【部分】JSON字符串转model
注:JSON串中必须用"转义字符,用'会报错
django使用已有的数据库表怎么建立model在网上看到都是使用Django的models和makemigration,migrate命令来创建新表,并使用。可是我的数据已经存在了已经创建好,并且已经存储有数据了,不能再重新创建新表了。了解Django的表明和models名称的映射关系就可以让Django使用已经存在的表。
假如在Django存在models如下:
[python]?viewplain?copy
from?django.db?import?models
#?Create?your?models?here.
class?Sciencenews(models.Model):
id?=?models.CharField(max_length=36,primary_key=True)
first_module?=?models.CharField(max_length=30,default="News")
second_module?=?models.CharField(max_length=30,default="Latest?News")
title?=?models.CharField(max_length=300)
author?=?models.CharField(max_length=60,null=True)
publish_date?=?models.CharField(max_length=35,null=True)
content?=?models.TextField(null=True)
crawl_date?=?models.CharField(max_length=35,null=True)
from_url?=?models.CharField(max_length=350,null=True)
执行数据迁移命令:
[python]?viewplain?copy
python?manage.py?makemigration
python?manage.py?migrate
会在数据库中生成名称为show_sciencenews的数据表。show为应用名称,此处我的应用名称为show。可以看到Django创建表的命名规则:应用名_模型名。
我的存储爬取到的数据的表格名称原来为science_news,想要Django使用它,而不是创建新的表,只需要把的它的名称改为:应用名_要与该表映射的models名称,在此处我改为show_sciencenews。然后使用如上的数据迁移命令,这时可能会提示数据表已经存在的错误,不用理会,models已经和数据表映射上了。接下来只需要正常使用models和数据表就可以了。
自己写的python程序怎么使用的django的models在一个爬虫脚本中将爬取的数据通过django自带的model保存到数据库
修改的文件(其余pycharm新建Django项目生成,未修改):
#testapp/models.pyfromdjango.dbimportmodelsclassProblem(models.Model):title=models.CharField(max_length=100,default="")author=models.CharField(max_length=100,default="")
def__str__(self):returnself.titlepass
#testapp/spider.pyimportosimportsysimportdjangopathname=os.path.dirname(os.path.abspath(__file__))sys.path.insert(0,pathname)sys.path.insert(0,os.path.abspath(os.path.join(pathname,'..')))os.environ.setdefault("DJANGO_SETTINGS_MODULE","testproject.settings")django.setup()fromtestapp.modelsimportProblemif__name__=="__main__":p=Problem(title="hi",author="hi")p.save()pass
#testproject/setting.py......INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',#添加应用'testapp',]......
#testapp/admin.py在后台管理界面注册Problemfromdjango.contribimportadmin#Registeryourmodelshere.fromtestapp.modelsimportProblemadmin.site.register(Problem)
DjangoModel层的设计一般是怎么进行的
model是数据库的设置,看你需要存储那些数据,就设置那些表,然后加入相应的字段
#?Create?your?models?here.
class?user(models.Model):
????username?=?models.CharField(max_length=20,?default='')?#name属性,字段
????password?=?models.CharField(max_length=50,?default='')?#password属性,字段
????#此方法在print对象的时候,可以打印字符串,类似java中的toString()方法
????def?__str__(self):
????????return?self.username?+?self.password
结语:以上就是首席CTO笔记为大家整理的关于django如何生成model的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django如何生成model的相关内容别忘了在本站进行查找喔。