问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

django怎么不能生成迁移文件(django文件的上传和删除)

发布网友 发布时间:2024-09-28 08:02

我来回答

1个回答

热心网友 时间:2024-10-22 06:38

本篇文章给大家谈谈django怎么不能生成迁移文件,以及django文件的上传和删除对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、pythonDjango项目使用生成迁移文件命令报错求解决2、django中的migrate怎么迁移数据到数据库中3、在创建django迁移文件的时候出错,请问下这是什么情况呢??请大家帮帮我!4、如何解决Django1.8在migrate时失败pythonDjango项目使用生成迁移文件命令报错求解决

xiaochong是项目名称的话,我估计你应该是修改过项目/文件夹名称。那么有几个地方需要同步改一下。不然肯定是会报错的

settings.py

ROOT_URLCONF=你的项目名称.urls

manage.py

os.environ.setdefault('DJANGO_SETTINGS_MODULE','你的项目名称..settings')

wsgi.py、asgi.py

os.environ.setdefault('DJANGO_SETTINGS_MODULE','你的项目名称..settings')

可能还有其它文件里面。可以全文查找一下。修改对应的位置就可以了

另外,如果xiaochong是app名称的话,那就是没有注册APP。settings里面加一下就好了。

希望能帮到你

django中的migrate怎么迁移数据到数据库中

databasemigrations是laravel最强大的功能之一。数据库迁移可以理解为数据库的版本控制器。

在database/migrations目录中包含两个迁移文件,一个建立用户表,一个用于用户密码重置。

在迁移文件中,up方法用于创建数据表,down方法用于回滚,也就是删除数据表。

在创建django迁移文件的时候出错,请问下这是什么情况呢??请大家帮帮我!

手动在注册表去掉键值:

从开始-运行,

输入

regedit

打开窗口上,点菜单栏文件,导出命名先备份一次你的注册表。

然后点击编辑-查看

输入

USERENV.DLL

把找到的键值删除

按F3继续,直到完成。

重启电脑即可去除错误提示。

如何解决Django1.8在migrate时失败

1.创建项目

运行下面命令就可以创建一个django项目,项目名称叫mysite:

$django-admin.pystartprojectmysite

创建后的项目目录如下:

mysite

├──manage.py

└──mysite

├──__init__.py

├──settings.py

├──urls.py

└──wsgi.py

1directory,5files

说明:

__init__.py:让Python把该目录当成一个开发包(即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。

manage.py:一种命令行工具,允许你以多种方式与该Django项目进行交互。键入pythonmanage.pyhelp,看一下它能做什么。你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。

settings.py:该Django项目的设置或配置。

urls.py:Django项目的URL路由设置。目前,它是空的。

wsgi.py:WSGIweb应用服务器的配置文件。更多细节,查看HowtodeploywithWSGI

接下来,你可以修改settings.py文件,例如:修改LANGUAGE_CODE、设置时区TIME_ZONE

SITE_ID=1

LANGUAGE_CODE='zh_CN'

TIME_ZONE='Asia/Shanghai'

USE_TZ=True

上面开启了[Timezone]()特性,需要安装pytz:

$sudopipinstallpytz

2.运行项目

在运行项目之前,我们需要创建数据库和表结构,这里我使用的默认数据库:

$pythonmanage.pymigrate

Operationstoperform:

Applyallmigrations:admin,contenttypes,auth,sessions

Runningmigrations:

Applyingcontenttypes.0001_initial...OK

Applyingauth.0001_initial...OK

Applyingadmin.0001_initial...OK

Applyingsessions.0001_initial...OK

然后启动服务:

$pythonmanage.pyrunserver

你会看到下面的输出:

Performingsystemchecks...

Systemcheckidentifiednoissues(0silenced).

January28,2015-02:08:33

Djangoversion1.7.1,usingsettings'mysite.settings'

Startingdevelopmentserverat

QuittheserverwithCONTROL-C.

这将会在端口8000启动一个本地服务器,并且只能从你的这台电脑连接和访问。既然服务器已经运行起来了,现在用网页浏览器访问。你应该可以看到一个令人赏心悦目的淡蓝色Django欢迎页面它开始工作了。

你也可以指定启动端口:

$pythonmanage.pyrunserver8080

以及指定ip:

$pythonmanage.pyrunserver0.0.0.0:8000

3.创建app

前面创建了一个项目并且成功运行,现在来创建一个app,一个app相当于项目的一个子模块。

在项目目录下创建一个app:

$pythonmanage.pystartapppolls

如果操作成功,你会在mysite文件夹下看到已经多了一个叫polls的文件夹,目录结构如下:

polls

├──__init__.py

├──admin.py

├──migrations

│└──__init__.py

├──models.py

├──tests.py

└──views.py

1directory,6files

4.创建模型

每一个DjangoModel都继承自django.db.models.Model

在Model当中每一个属性attribute都代表一个databasefield

通过DjangoModelAPI可以执行数据库的增删改查,而不需要写一些数据库的查询语句

打开polls文件夹下的models.py文件。创建两个模型:

importdatetime

fromdjango.dbimportmodels

fromdjango.utilsimporttimezone

classQuestion(models.Model):

question_text=models.CharField(max_length=200)

pub_date=models.DateTimeField('datepublished')

defwas_published_recently(self):

returnself.pub_date=timezone.now()-datetime.timedelta(days=1)

classChoice(models.Model):

question=models.ForeignKey(Question)

choice_text=models.CharField(max_length=200)

votes=models.IntegerField(default=0)

然后在mysite/settings.py中修改INSTALLED_APPS添加polls:

INSTALLED_APPS=(

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'polls',

)

在添加了新的app之后,我们需要运行下面命令告诉Django你的模型做了改变,需要迁移数据库:

$pythonmanage.pymakemigrationspolls

你会看到下面的输出日志:

Migrationsfor'polls':

0001_initial.py:

-CreatemodelChoice

-CreatemodelQuestion

-Addfieldquestiontochoice

你可以从polls/migrations/0001_initial.py查看迁移语句。

运行下面语句,你可以查看迁移的sql语句:

$pythonmanage.pysqlmigratepolls0001

输出结果:

BEGIN;

CREATETABLE"polls_choice"("id"integerNOTNULLPRIMARYKEYAUTOINCREMENT,"choice_text"varchar(200)NOTNULL,"votes"integerNOTNULL);

CREATETABLE"polls_question"("id"integerNOTNULLPRIMARYKEYAUTOINCREMENT,"question_text"varchar(200)NOTNULL,"pub_date"datetimeNOTNULL);

CREATETABLE"polls_choice__new"("id"integerNOTNULLPRIMARYKEYAUTOINCREMENT,"choice_text"varchar(200)NOTNULL,"votes"integerNOTNULL,"question_id"integerNOTNULLREFERENCES"polls_question"("id"));

INSERTINTO"polls_choice__new"("choice_text","votes","id")SELECT"choice_text","votes","id"FROM"polls_choice";

DROPTABLE"polls_choice";

ALTERTABLE"polls_choice__new"RENAMETO"polls_choice";

CREATEINDEXpolls_choice_7aa0f6eeON"polls_choice"("question_id");

COMMIT;

你可以运行下面命令,来检查数据库是否有问题:

$pythonmanage.pycheck

再次运行下面的命令,来创建新添加的模型:

$pythonmanage.pymigrate

Operationstoperform:

Applyallmigrations:admin,contenttypes,polls,auth,sessions

Runningmigrations:

Applyingpolls.0001_initial...OK

总结一下,当修改一个模型时,需要做以下几个步骤:

修改models.py文件

运行pythonmanage.pymakemigrations创建迁移语句

运行pythonmanage.pymigrate,将模型的改变迁移到数据库中

你可以阅读django-admin.pydocumentation,查看更多manage.py的用法。

创建了模型之后,我们可以通过Django提供的API来做测试。运行下面命令可以进入到pythonshell的交互模式:

$pythonmanage.pyshell

下面是一些测试:

frompolls.modelsimportQuestion,Choice#Importthemodelclasseswejustwrote.

#Noquestionsareinthesystemyet.

Question.objects.all()

[]

#CreateanewQuestion.

#Supportfortimezonesisenabledinthedefaultsettingsfile,so

#Djangoexpectsadatetimewithtzinfoforpub_date.Usetimezone.now()

#insteadofdatetime.datetime.now()anditwilldotherightthing.

fromdjango.utilsimporttimezone

q=Question(question_text="What'snew?",pub_date=timezone.now())

#Savetheobjectintothedatabase.Youhavetocallsave()explicitly.

q.save()

#NowithasanID.Notethatthismightsay"1L"insteadof"1",depending

#onwhichdatabaseyou'reusing.That'snobiggie;itjustmeansyour

#databasebackendpreferstoreturnintegersasPythonlonginteger

#objects.

q.id

1

#AccessmodelfieldvaluesviaPythonattributes.

q.question_text

"What'snew?"

q.pub_date

datetime.datetime(2012,2,26,13,0,0,775217,tzinfo=UTC)

#Changevaluesbychangingtheattributes,thencallingsave().

q.question_text="What'sup?"

q.save()

#objects.all()displaysallthequestionsinthedatabase.

Question.objects.all()

[Question:Questionobject]

打印所有的Question时,输出的结果是[Question:Questionobject],我们可以修改模型类,使其输出更为易懂的描述。修改模型类:

fromdjango.dbimportmodels

classQuestion(models.Model):

#...

def__str__(self):#__unicode__onPython2

returnself.question_text

classChoice(models.Model):

#...

def__str__(self):#__unicode__onPython2

returnself.choice_text

接下来继续测试:

frompolls.modelsimportQuestion,Choice

#Makesureour__str__()additionworked.

Question.objects.all()

[Question:What'sup?]

#DjangoprovidesarichdatabaselookupAPIthat'sentirelydrivenby

#keywordarguments.

Question.objects.filter(id=1)

[Question:What'sup?]

Question.objects.filter(question_text__startswith='What')

[Question:What'sup?]

#Getthequestionthatwaspublishedthisyear.

fromdjango.utilsimporttimezone

current_year=timezone.now().year

Question.objects.get(pub_date__year=current_year)

Question:What'sup?

#RequestanIDthatdoesn'texist,thiswillraiseanexception.

Question.objects.get(id=2)

Traceback(mostrecentcalllast):

...

DoesNotExist:Questionmatchingquerydoesnotexist.

#Lookupbyaprimarykeyisthemostcommoncase,soDjangoprovidesa

#shortcutforprimary-keyexactlookups.

#ThefollowingisidenticaltoQuestion.objects.get(id=1).

Question.objects.get(pk=1)

Question:What'sup?

#Makesureourcustommethodworked.

q=Question.objects.get(pk=1)

#GivetheQuestionacoupleofChoices.Thecreatecallconstructsanew

#Choiceobject,doestheINSERTstatement,addsthechoicetotheset

#ofavailablechoicesandreturnsthenewChoiceobject.Djangocreates

#asettoholdthe"otherside"ofaForeignKeyrelation

#(e.g.aquestion'schoice)whichcanbeaccessedviatheAPI.

q=Question.objects.get(pk=1)

#Displayanychoicesfromtherelatedobjectset--nonesofar.

q.choice_set.all()

[]

#Createthreechoices.

q.choice_set.create(choice_text='Notmuch',votes=0)

Choice:Notmuch

q.choice_set.create(choice_text='Thesky',votes=0)

Choice:Thesky

c=q.choice_set.create(choice_text='Justhackingagain',votes=0)

#ChoiceobjectshaveAPIaccesstotheirrelatedQuestionobjects.

c.question

Question:What'sup?

#Andviceversa:QuestionobjectsgetaccesstoChoiceobjects.

q.choice_set.all()

[Choice:Notmuch,Choice:Thesky,Choice:Justhackingagain]

q.choice_set.count()

3

#TheAPIautomaticallyfollowsrelationshipsasfarasyouneed.

#Usedoubleunderscorestoseparaterelationships.

#Thisworksasmanylevelsdeepasyouwant;there'snolimit.

#FindallChoicesforanyquestionwhosepub_dateisinthisyear

#(reusingthe'current_year'variablewecreatedabove).

Choice.objects.filter(question__pub_date__year=current_year)

[Choice:Notmuch,Choice:Thesky,Choice:Justhackingagain]

#Let'sdeleteoneofthechoices.Us

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这款德系车跌至5万左右,还是桑塔纳"兄弟"!为何还是卖不好? 柚子电子烟和真烟哪个危害大 苹果15pro怎么使用两个微信 苹果手机id怎么用两个手机 青岛银行如何办理手机银行 青岛银行开通手机银行 青岛银行有什么业务 2020的macbookpro电池用到88%后插电,但是电池暂停充电,显 macbookpro电容量在97%,有必要更换吗? macbookpro的电池寿命循环次数是多少? 超霸气的励志短句(霸气且高冷的句子) MyStarts. exe是什么程序? VB访问SQL数据库时出现问题,本机IP:192.168.1.225 SONY笔记本 VGN- FZ21M安装了XP系统以后耳机和喇叭同时响怎么解决,谢 ... VB怎么在SQL2000数据库中添加一条新记录啊?具体代码怎么写?给个例子给... SONY VGN-FZ318笔记本驱动 索尼VGN-FZ25索尼VGN-FZ25存储设备 ...用户名和密码都保存在SQL Server 2000 数据库中,希望有源代码!_百 ... 索尼vgn-fz35 换xp后摄像头无法驱动 设备管理器看不到黄色问号_百度知 ... sony笔记本vgn-fz型号,FN键按静音可以,就是按不了F5,F6调节亮度,_百度... fz25声卡显卡驱动 SONY FZ25 装XP系统 怎么装 要驱动吗? 行车记录仪使用点烟器好?还是降压线好? 谁能帮我注册一个鲜鲜网的会员啊? 鲜网注册好多次都注册不上,哪位可以帮忙注册下啊。非常感谢。。。_百... 谁帮我注册一个鲜网的号子啊 我想要注册鲜网的会员 怎么注册鲜网 谁帮我注册一个鲜网账号。 鲜网注册为什么打不开 鲜网咋么注册的啊 丰宁满族自治县华骏机械制造有限公司怎么样? ...Office 2007 Office2010 Office2016 Office2019 如何解决Office2019安装后无法启动的问题? “倦凭南郭几”的出处是哪里 “但欠封侯骨”的出处是哪里 辛弃疾经典诗词鉴赏(辛弃疾的78首经典绝句) 什么叫开环传递函数?什么叫闭环传递函数?两者之间有什么关系吗?... 什么叫开环传递函数?什么叫有什么关系吗? 丰田奕泽izoa怎么样?丰田奕泽Izoa的真实油耗。 男生心中,初恋的地位真的无法取代吗? 甲鱼的觅食活动有什么规律? 野生甲鱼晚上几点出没,如何辨别野生甲鱼和养殖甲ɱ 《功夫熊猫4》观影前,一口气回顾《功夫熊猫1-3》! 功夫熊猫2里阿宝有什么绝招啊? 对外提供哪些信息资料需要进行保密审查 如何重新升请一个微信号 ...我想买套茶具送她,不知道买什么样的茶具合适,景德镇哪家茶具比较... 我想买一套茶具送人,不知哪家好点? hasee台式电脑开机黑屏能听见开机的声音是不是线没插好? 电脑开机就黑屏,进不到桌面,硬件一切正常,重启也不行。。。