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()
# ...
The option (delete in our example) is available in the options dict
parameter of the handle method. See the argparse Python documentation
for more about add_argument usage.
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
If your command defines mandatory positional arguments, you can customize the message error returned in the case of missing arguments. The default is output by
argparse("too few arguments").
- 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á.