Conas orduithe saincheaptha ``django-admin ``a chruthúLink to this heading
Is féidir le hiarratais a gcuid gníomhartha féin a chlárú le manage.py`. Mar shampla, b'fhéidir gur mhaith leat gníomh manage.py a chur le haghaidh aip Django atá á dháileadh agat. Sa doiciméad seo, beimid ag tógáil ordú saincheaptha closepoll don iarratas polls óna:doc: `teagorial@@</intro/tutorial01> `.
Chun seo a dhéanamh, cuir eolaire bainistí/orduithe ``leis an bhfeidhmchlár. Cláróidh Django ordú `manage.py do gach modúl Python san eolaire sin nach dtosaíonn a ainm le béim. Mar shampla:
polls/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
_private.py
closepoll.py
tests.py
views.py
Sa sampla seo, cuirfear an t-ordú closepoll` ar fáil d'aon tionscadal a chuimsíonn an feidhmchlár polls in:setting: INSTALLED_APPS.
Ní bheidh an modúl _private.py ar fáil mar ordú bainistíochta.
<ref-basecommand-subclasses>Níl ach riachtanas amháin ag an modúl closepoll.py - ní mór dó aicme Command a shainmhíniú a leathnaí:class: BaseCommand nó ceann dá: ref: `fo-aicmí `.
Chun an t-ordú a chur i bhfeidhm, cuir in eagar polls/management/commands/closepoll.py` chun cuma seo a leanas:
from django.core.management.base import BaseCommand, CommandError
from polls.models import Question as Poll
class Command(BaseCommand):
help = "Closes the specified poll for voting"
def add_arguments(self, parser):
parser.add_argument("poll_ids", nargs="+", type=int)
def handle(self, *args, **options):
for poll_id in options["poll_ids"]:
try:
poll = Poll.objects.get(pk=poll_id)
except Poll.DoesNotExist:
raise CommandError('Poll "%s" does not exist' % poll_id)
poll.opened = False
poll.save()
self.stdout.write(
self.style.SUCCESS('Successfully closed poll "%s"' % poll_id)
)
<poll_ids>Is féidir an t-ordú saincheaptha nua a ghlaoch ag baint úsáide as ``python manage.py closepoll ``.
Tógann an modh handle () ```poll_ids amháin nó níos mó agus leagann sé poll.opened go False do gach ceann amháin. Má thug an t-úsáideoir tagairt do aon vótaíochtaí nach bhfuil ann, ardaítear a:exc: CommandError. Níl an tréith poll.opened ann in:doc: tutorial agus cuireadh leis Polls.Models.Question don sampla seo</intro/tutorial02>.
Ag glacadh le hargóintLink to this heading
D'fhéadfaí an closepoll` céanna a mhodhnú go héasca chun vótaíocht ar leith a scriosadh in ionad é a dhúnadh trí ghlacadh le roghanna líne ordaithe breise. Is féidir na roghanna saincheaptha seo a chur leis sa modh:: ~BaseCommand.add_Arguments mar seo:
class Command(BaseCommand):
def add_arguments(self, parser):
# Positional arguments
parser.add_argument("poll_ids", nargs="+", type=int)
# Named (optional) arguments
parser.add_argument(
"--delete",
action="store_true",
help="Delete poll instead of closing it",
)
def handle(self, *args, **options):
# ...
if options["delete"]:
poll.delete()
# ...
Tá an rogha (scrios inár sampla) ar fáil i bparaiméadar dict na roghanna den mhodh láimhseála. Féach doiciméadú Python: py:mod: argparse le haghaidh tuilleadh eolais faoi úsáid ``add_argument ``.
Chomh maith le bheith in ann roghanna líne ordaithe saincheaptha a chur leis, is féidir le gach: doc: ordaithe bainistíochta `glacadh le roinnt roghanna réamhshocraithe mar: rogha: `--verbosity`</ref/django-admin> agus:option: `--traceback.
Orduithe bainistíochta agus áitiúlaLink to this heading
De réir réamhshocraithe, déantar orduithe bainistíochta a fhorghníomhú leis an locale gníomhach reatha.
Más gá, ar chúis éigin, d'ordú bainistíochta saincheaptha a rith gan áit ghníomhach (mar shampla, chun ábhar aistrithe a chosc ó chur isteach sa bhunachar sonraí), díghníomhachtaigh aistriúcháin ag baint úsáide as an maisitheoir @no_translations ar do mhodh:
from django.core.management.base import BaseCommand, no_translations
class Command(BaseCommand):
...
@no_translations
def handle(self, *args, **options): ...
Ós rud é go dteastaíonn rochtain ar shocruithe cumraithe chun aistriúchán a dhíghníomhachtú, ní féidir an maisitheoir a úsáid le haghaidh orduithe a oibríonn gan socruithe cumraithe.
TástáilLink to this heading
<topics-testing-management-commands>Is féidir faisnéis faoi conas orduithe bainistíochta saincheaptha a thástáil in:ref: `testing docs `.
Orduithe suntasachaLink to this heading
Cláraíonn Django na horduithe ionsuite agus ansin déanann sé cuardach ar orduithe in:setting: INSTALLED_APPS ar ais. Le linn an chuardaigh, má dhúbailíonn ainm ordaithe ordú cláraithe cheana féin, cuireann an t-ordú nua-aimsithe ar an gcéad cheann.
Is é sin le rá, chun ordú a shárú, caithfidh an t-ainm céanna a bheith ag an ordú nua agus caithfidh a aip a bheith roimh aip an ordaithe athsháraithe in:setting: INSTALLED_APPS.
Is féidir orduithe bainistíochta ó aipeanna tríú páirtí a cuireadh athshealbhú gan aon ghnó a chur ar fáil faoi ainm nua trí ordú nua a chruthú i gceann de na feidhmchláir do thionscadail (ordaithe roimh an aip tríú páirtí in:setting: INSTALLED_APPS) a allmhairíonn ``Ordú ``den ordú sáraithe.
Rudaí ordaitheLink to this heading
- class BaseCommandLink to this definition
An bunaicme as a dtagann gach ordú bainistíochta sa deireadh.
<ref-basecommand-subclasses>Úsáid an rang seo más mian leat rochtain a fháil ar na meicníochtaí go léir a pháirsíonn na hargóintí líne ordaithe agus a oibríonn amach cén cód atá le glaoch mar fhreagra; mura gá duit aon cheann den iompar sin a athrú, smaoinigh ar cheann díobh a úsáid: ref: `fo-aicmí `.
Éilíonn fo-aicmiú an ranga:class: BaseCommand go gcuirfidh tú an modh: ~BaseCommand.Handle i bhfeidhm.
TréitheLink to this heading
<ref-basecommand-subclasses>Is féidir na tréithe go léir a shocrú i do rang díorthaithe agus is féidir iad a úsáid in:class: BaseCommand subclass.
- BaseCommand.helpLink to this definition
<command>Cur síos gairid ar an ordú, a phriontálfar sa teachtaireacht chabhrach nuair a ritheann an t-úsáideoir an t-ordú ``python manage.py help ``.
- BaseCommand.missing_args_messageLink to this definition
Má shainmhíníonn d'ordú argóintí seasaimh éigeantacha, is féidir leat an earráid teachtaireachta a thug ar ais a shaincheapadh i gcás argóint Is é an réamhshocrú aschur ag:py:mod: argparse (“ró-bheag argóintí”).
- BaseCommand.output_transactionLink to this definition
Boolean a thugann le fios an n-aschuireann an t-ordú ráitis SQL; má tá
True, filteofar an t-aschur go huathoibríoch leBEGIN; ``agus ``COMMIT;. Is é luach réamhshocraitheFalse.
- BaseCommand.requires_migrations_checksLink to this definition
Boolean; má tá
True, priontáil an t-ordú rabhadh mura n-oireann an tacar imirce ar an diosca leis na himirce sa bhunachar sonraí. Ní chuireann rabhadh cosc ar an ordú a fhorghníomhú. Is é luach réamhshocraitheFalse.
- BaseCommand.requires_system_checksLink to this definition
Liosta nó cúpla clibeanna, m.sh.
[Tags.staticFiles, tags.Models]. Seiceálfar seiceálacha córas:ref: cláraithe sna clibeanna roghnaithe <registering-labeling-checks>`le haghaidh earráidí sula ndéantar an t-ordú a fhorghníomhú. Is féidir an luach `'__all__'`` a úsáid chun a shonrú gur chóir gach seiceáil chórais a dhéanamh. Is é luach réamhshocraithe'__all__'.
- BaseCommand.styleLink to this definition
Tréith sampla a chuidíonn le aschur daite a chruthú agus tú ag scríobh chuig
stdoutnóstderr. Mar shampla:self.stdout.write(self.style.SUCCESS("..."))Féach: tagairt: syntax-coloring chun foghlaim conas an pailéad dathanna a mhodhnú agus na stíleanna atá ar fáil a fheiceáil (bain úsáid as leaganacha uachtaracha de na “róil” a thuairiscítear sa chuid sin).
Má théann tú ar an rogha:: - no-color` agus tú ag rith d'ordú, cuirfidh gach glao `self.style () `ar ais an sreang bunaidh gan daite.
- BaseCommand.suppressed_base_argumentsLink to this definition
Na roghanna ordaithe réamhshocraithe chun cosc a chur san aschur cabhrach. Ba chóir go mbeadh sé seo ina shraith d'ainmneacha roghanna (m.sh.
`- verbosity`). Tá na luachanna réamhshocraithe do na roghanna faoi chosc ritheanta fós.
ModhannaLink to this heading
BaseCommand has a few methods that can be overridden but only
the handle() method must be implemented.
- BaseCommand.create_parser(prog_name, subcommand, **kwargs)Link to this definition
Filleann sé sampla
CommandParser, arb ion:class: ~ArgParse.ArgumentParser fo-aicme le cúpla saincheapadh do Django.Is féidir leat an sampla a shaincheapadh tríd an modh seo a shárú agus glaoch ar
super () ``le paraiméadair ``kwargs ``o:class: ~ArgParse.ArgumentParser.
- BaseCommand.add_arguments(parser)Link to this definition
Pointe iontrála chun argóintí parser a chur chun argóintí líne ordaithe a chuirtear chuig an ordú a láimhseáil Ba cheart d'orduithe saincheaptha an modh seo a shárú chun argóintí suímh agus roghnacha a ghlacann an t-ordú leis a chur leis Ní gá glaoch ar
super () ``nuair a dhéantar `BaseCommanda fho-aicmiú go díreach.
- BaseCommand.get_version()Link to this definition
Filleann sé an leagan Django, ar chóir go mbeadh sé ceart do gach ordú Django ionsuite. Is féidir le horduithe a sholáthraíonn an úsáideoir an modh seo a shárú chun a leagan féin ar ais.
- BaseCommand.execute(*args, **options)Link to this definition
Déanann iarracht an t-ordú seo a fhorghníomhú, ag déanamh seiceálacha córais más gá (mar atá á rialú ag an tréith: attr: requires_system_checks). Má ardaíonn an t-ordú a:exc: CommandError, déantar é a idirghabháil agus a phriontáil chuig
stderr.
- BaseCommand.handle(*args, **options)Link to this definition
An loighic iarbhír an ordaithe. Caithfidh fo-aicmí an modh seo a chur i bhfeidhm.
Féadfaidh sé teaghrán a chur ar ais a phriontáilfear chuig stdout` (fillte le
BEGIN; ``agus ``COMMIT;más: attr: output_transaction`True).
- BaseCommand.check(app_configs=None, tags=None, display_num_errors=False, include_deployment_checks=False, fail_level=checks.ERROR, databases=None)Link to this definition
Úsáideann sé creat seiceála an chórais chun an tionscadal iomlán Django a iniúchadh le haghaidh fadhbanna a Ardaítear fadhbanna tromchúiseacha mar a:exc: Commanderror; aschur rabhaidh chuig stderr`; aschuirtear mionfhógraí chuig stdout`.
Má tá
`app_configsagus tags` araon`None ``, déantar gach seiceáil chórais seachas seiceálacha imscartha agus seiceálacha a bhaineann le bunachar sonraí. Is féidir le `tagsa bheith ina liosta clibeanna seiceála, cosúil lecomhoiriúnacht ``nó `samhlacha.Is féidir leat
include_deployment_checks=truea rith chun seiceálacha imscartha a dhéanamh freisin, agus liosta d'ainmneacha bunachar sonraí sna databases` chun seiceálacha a bhaineann le bunachar sonraí a reáchtáil ina gcoinne.
- BaseCommand.get_check_kwargs(options)Link to this definition
-
Supplies kwargs for the call to
check(), including transforming the value ofrequires_system_checksto thetagkwarg.Override this method to change the values supplied to
check(). For example, to opt into database related checks you can overrideget_check_kwargs()as follows:def get_check_kwargs(self, options): kwargs = super().get_check_kwargs(options) return {**kwargs, "databases": [options["database"]]}
Fo-aicmí BaseCommandLink to this heading
- class AppCommandLink to this definition
Ordú bainistíochta a thógann lipéad feidhmchláir suiteáilte amháin nó níos mó mar argóintí, agus a dhéanann rud éigin le gach ceann acu.
Seachas: meth: ~BaseCommand.handle a chur i bhfeidhm, ní mór do fho-aicmiúint:meth: ~appCommand.handle_app_config a chur i bhfeidhm, a ghlaofar uair amháin do gach feidhmchlár.
- AppCommand.handle_app_config(app_config, **options)Link to this definition
Déan gníomhartha an ordaithe le haghaidh
app_config, a bheidh an:class: ~django.apps.appconfig sampla a fhreagraíonn do lipéad feidhmchláir a thugtar ar an líne ordaithe.
- class LabelCommandLink to this definition
Ordú bainistíochta a thógann argóint treallach amháin nó níos mó (lipéid) ar an líne ordaithe, agus a dhéanann rud éigin le gach ceann acu.
Seachas: meth: ~BaseCommand.Handle a chur i bhfeidhm, ní mór do fho-aicmi:meth: ~labelCommand.handle_label a chur i bhfeidhm, a ghlaofar uair amháin do gach lipéad.
- LabelCommand.labelLink to this definition
Sreang a chuireann síos ar na hargóintí treallacha a chuirtear chuig an ordú Úsáidtear an teaghrán i dtéacs úsáide agus teachtaireachtaí earráide an ordaithe. Réamhshocraithe go
`lipéad.
- LabelCommand.handle_label(label, **options)Link to this definition
Déan gníomhartha an ordaithe le haghaidh lipéad`, arb é an teaghrán mar a thugtar ar an líne ordaithe.
Eisceachtaí ordaitheLink to this heading
- exception CommandError(returncode=1)Link to this definition
Rang eisceachta a léiríonn fadhb agus ordú bainistíochta á fhorghníomhú.
Má ardaítear an eisceacht seo le linn ordú bainistíochta a fhorghníomhú ó chonsól líne ordaithe, gabhfar é agus déanfar é teachtaireacht earráide priontáilte go deas chuig an sruth aschuir chuí (ie, stderr `); mar thoradh air sin, is é an eisceacht seo a ardú (le cur síos ciallmhar ar an earráid) an bealach is fearr chun a léiriú go bhfuil rud éigin mícheart ag forghníomhú ordaithe. Glacann sé leis an argóint roghnach ``returncode ``chun an stádas imeachta a shaincheapadh don ordú bainistíochta imeacht leis, ag baint úsáide as: func: sys.exit.
Má ghlaofar ordú bainistíochta ón gcód trí:func: ~django.core.management.call_command, is fútsa atá sé an eisceacht a ghabháil nuair is gá.