Django项目怎么创建管理员(2023年最新整理)

作者&投稿:陶澜 (若有异议请与网页底部的电邮联系)
~

导读:很多朋友问到关于Django项目怎么创建管理员的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

Django创建超级管理员

摘要:进入项目路径:pythonmanage.pycreatesuperuser按照提示输入相应的用户名,邮箱和密码即可

进入项目路径:

pythonmanage.pycreatesuperuser?

按照提示输入相应的用户名,邮箱和密码即可

以上是Django创建超级管理员的内容。

django怎么在admin里显示数据库的内容

操作方法:首先要运行pythonmanage.pycreatesuperuser命令来创建一个管理员账户。

然后在url中输入/admin即可到达管理员登录页,登录之后会发现并没有数据库中要显示的项目,因为我们还没有注册。

接下来我们注册要在admin中管理的数据模型;在admin.py中注册模型。然后刷新页面,即可看到ContactMessage这个数据表了,可以在里边增删进行简单的增删改查。

Django1.74版本取消syncdb后,请问怎么创建admin账号

首先没有取消syncdb

.只是在1.6的基础增加了south的功能1.7数据库初始化的方法是先执行pythonmanage.pymakemigrations然后再执行pythonmanage.pymigrate#会询问你是否创建admin,依次输入账号和密码即可

如何正确使用DjangoAdmin

1.DjangoAdmin不适合最终用户使用

Djangoadmin是为管理员设计的,而不是给最终用户使用的.Djangoadmin的存在是为了方便管理员添加修改删除数据和管理站点任务.

2.列表显示

如上图,因为model的默认文本显示是xxxobject,所以在admin列表页中默认显示的也是xxxobject.如果希望显示更有用的信息我们可以进行如下设置:

为model写__unicode__()方法

如果希望model在列表页中显示更多项,则需要使用list_display

__unicode()__例子:

#models.py

fromdjango.dbimportmodels

classArticle(models.Model):

title=models.CharField(max_length=100)

slug=models.CharField(max_length=100)

content=models.TextField()

is_published=models.BooleanField(default=False)

def__unicode__(self):

returnself.title

#admin.py

fromdjango.contribimportadmin

from.modelsimportArticle

admin.site.register(Article)

结果:

如果希望显示其他项:

#admin.py

fromdjango.contribimportadmin

from.modelsimportArticle

classArticleAdmin(admin.ModelAdmin):

list_display=('title','is_published')

admin.site.register(Article,ArticleAdmin)

结果:

3.为ModelAdmin增加动作

我们可以为ModelAdmin增加method或function,以此使admin界面更符合我们的需求.

例如,我们希望在在admin界面中显示一个明确地URL,但当我们在model中定义了get_absolute_url()方法后,djangoadmin默认给我们的却是一个与我们想要的URL完全不同的URL.于是我们可以通过以下方法定义该URL:

#admin.py

fromdjango.contribimportadmin

fromdjango.core.urlresolversimportreverse

fromdjango.utils.htmlimportformat_html

from.modelsimportArticle

classArticleAdmin(admin.ModelAdmin):

list_display=('title','is_published',)

readonly_fields=('show_url',)

defshow_url(self,instance):

url=reverse('article_detail',kwargs={'pl':instance.pk})

response=format_html("""ahref="{0}"文章预览preview/a""",url)

returnresponse

show_url.short_description=u"文章预览"

#显示HTMLtag

#对于用户提交的数据,永远不要这么设置!

show_url.allow_tags=True

注意,allow_tags属性,其默认值是False,如果错误使用将会带来安全隐患.如果设置为True,

在admin中会允许显示HTMLtag.因此我们使用的原则是,对于用户输入的信息,永远不设置allow_tags=True.

只有当其内容是系统生成,用户无法修改的时,才能使用allow_tags=True.

4.不在多用户编辑环境使用list_editable

djangoadmin为我们提供了在列表页修改model属性的功能,这样方便管理员一次修改多个属性.如果管理员只有一个人的话,

那就没问题,但在多用户环境中时,却是会存在一个很严重的潜在问题.因为在list页提交的修改信息,记录的是位置,而不是model的主键.

举个例子,文章列表页默认按照创建顺序逆序排列,用户A打开文章列表页,并开始修改,同时用户B增加了一篇新文章,此时,

当用户A提交修改后其后的文章信息都会出错.

如何创建一个Django网站

本文演示如何创建一个简单的django网站,使用的django版本为1.7。

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.

Que


如何把Django项目部署到本地服务器上?
你好,要将Django项目部署到本地服务器上,您需要使用一个本地服务器,例如Apache或Nginx,以及一个Python解释器。以下是一些步骤:1. 安装Python解释器:您需要安装Python解释器,以便在本地服务器上运行Django项目。您可以从Python官方网站下载并安装Python解释器。2. 安装Django:您需要安装Django框架,以便在...

django怎么生成静态页面(2023年最新分享)
导读:很多朋友问到关于django怎么生成静态页面的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!python——Django项目开发:配置项目\/static\/路径,调用css、img、js等静态文件在Django项目开发中,不能像正常web开发一样通过'imgs\/bg.jpg'访问本地静态...

django怎么启动与关闭(2023年最新整理)
Djago如何启动项目和连接1:这三个按钮都是向下的三角,应该是切换项目的 2:在django的项目里链接数据库都是在settings.py文件中配置的 ???'default':?{ ???'ENGINE':?'django.db.backends.oracle',???'NAME':?'orcl',???'USER':?'admin',???'PASSWORD':?'summer',???'HOST':?'10....

本地django如何运行(django菜鸟教程)
2运行这个django环境,这时PyCharm会报错,提示缺少子命令 3配置PyCharm:添加runserver到配置中。即可。4再运行PyCharm上的django项目:则说明配置成功。我有个linux的虚拟主机,我想运行django网站,怎么办?我是linux主机,我这样在本地运行django 1在终端进入django项目的文件夹,是有manage.py的那个目录 ...

django制作完网页如何部署(2023年最新解答)
Django部署——uwsgi+Nginx(超详细)环境:python3.6 centos7 Django1.11 用Django写了个小网站,只能在自己本地跑一跑!这怎么行?听说可以部署在云服务器上,这样别人就可以访问了!从哪儿开始?就从Django开始吧!老规矩,按步骤:这里不讲Django项目实施过程,假设你已经写了一个Django项目,并且在本...

django如何创建一个项目(2023年最新解答)
导读:本篇文章首席CTO笔记来给大家介绍有关django如何创建一个项目的相关内容,希望对大家有所帮助,一起来看看吧。如何创建一个Django网站本文演示如何创建一个简单的django网站,使用的django版本为1.7。1.创建项目 运行下面命令就可以创建一个django项目,项目名称叫mysite:django-admin.pystartprojectmy...

如何新建django项目(djangoadminstartproject创建)
导读:本篇文章首席CTO笔记来给大家介绍有关如何新建django项目的相关内容,希望对大家有所帮助,一起来看看吧。pycharm怎么建django打开PyCharm官网,选择Download,进入下载页面。这时会出现2个版本,左边的那个是购买版,可以试用30天;右边那个是社区版,免费的,我们一般选择右边社区版。下载完后进行安装...

Django项目怎么创建管理员(2023年最新整理)
导读:很多朋友问到关于Django项目怎么创建管理员的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!Django创建超级管理员 摘要:进入项目路径:pythonmanage.pycreatesuperuser按照提示输入相应的用户名,邮箱和密码即可 进入项目路径: pythonmanage.pycreatesuperuser? 按照提示...

django项目源码怎么用(django开发教程)
导读:今天首席CTO笔记来给各位分享关于django项目源码怎么用的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!python的django做什么的 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用 于管理劳伦斯出版集团旗下的一些以新闻...

如何打开别人额django项目(2023年最新整理)
导读:本篇文章首席CTO笔记来给大家介绍有关如何打开别人额django项目的相关内容,希望对大家有所帮助,一起来看看吧。Djago如何启动项目和连接1:这三个按钮都是向下的三角,应该是切换项目的 2:在django的项目里链接数据库都是在settings.py文件中配置的 ???'default':?{ ???'ENGINE':?'django.db...

绛县13134793722: Django 1.74 版本取消 syncdb 后,请问怎么创建 admin 账号 -
栾逃甲磺: 系统权限方面基本上是一样,administrator是内置管理员,ABC无法删除它,但是它能删ABC.由于是内建账户,所以当拥有一个自己建立的管理员账户时,administrator会自动隐藏,安全模式下才会自动出现,楼主可以更改登录方式,到控制面板→用户账户→更改我的登陆和注销方式,把欢迎屏幕的√取消掉,这样登录时就会像是win2000那样的输入框了,登录时手动填写账户administrator就可以正常登陆.

绛县13134793722: 怎么python虚拟环境中创建django管理员 -
栾逃甲磺: 调用libvirt接口.可以参考下openstack中的libvirt驱动.不过把openstack整透了也得下番功夫.

绛县13134793722: 用django自带的用户登录怎么实现 -
栾逃甲磺: 初学python和django,做个简单的注册登录功能,供初学者参考. 首先是创建项目,django-admin.py startproject demo 接着创建应用,因为功能简单,所以只创建一个应用 django-admin startapp blog 说明下,数据库我用的是mysql,在settings....

绛县13134793722: 你好,请问你说要创建一个项目,然后访问默认地址,应该在哪创建项目?默认地址又是哪些?应该怎样访问? -
栾逃甲磺: 可以在任何地方创建,在命令行中进入到你要创建项目的目录,然后执行 django-admin.py startproject mysite(这个mysite是你的项目名,可以随便取.django-admin.py位于类似C:\Python26\Lib\site-packages\django\bin这样的目录下) 然后会生成一个项目目录,进入其中,再执行 manage.py runserver,开发用的服务器就会启动.不要关闭命令行窗口,打开浏览器,键入:http://127.0.0.1:8000 就可以看到默认页面了.

绛县13134793722: 如何正确使用 Django Admin -
栾逃甲磺: 1. Django Admin 不适合最终用户使用 Django admin是为管理员设计的, 而不是给最终用户使用的. Django admin的存在是为了方便管理员添加修改删除数据和管理站点任务.2. 列表显示 如上图, 因为model的默认文本显示是 xxx object, 所以在...

绛县13134793722: django怎么创建一个简单的用户授权系统 -
栾逃甲磺: django认证系统包含三个部分:用户、权限和分组...如果不是使用django-admin.py创建项目的可以通过在...django自带一个简单的权限系统

绛县13134793722: 在pycharm下创建Django项目,其中有admin的用户名和密码 -
栾逃甲磺: 在命令行输入 python manage.py createsuperuser 按照提示输入即可 记得先初始化表. django>1.7 python manage.py makemigrations python manage.py migrate django<1.7 python manage.py syncdb

绛县13134793722: Django如何重设Admin密码 -
栾逃甲磺: 如果你忘记了设置Django的Admin密码,那么你可以使用 createsuperuser 来甚至密码,但是如果你忘记了Admin的密码的话,那么就要用Django shell:python manage.py shell 然后获取你的用户名,并且重设密码:from django.contrib.auth.models import User user =User.objects.get(username='admin') user.set_password('new_password') 这样之后你就可以使用新的密码登入了.

绛县13134793722: django安装成功后,为什么不能创建项目 -
栾逃甲磺: 不小心将PY文件默认打开方式设置为记事本了! 所以一运行django-admin startproject mysite就用记事本打开了py文件! 解决方法有2种: 1,将默认打开方式设置为python ; 2,换这个命令python django-admin startproject mysite,

绛县13134793722: 怎么部署django admin -
栾逃甲磺: Django forms使用容易, 又方便扩展, 因此Django admin和CBVs基本都基于forms使用. 事实上, 由于django forms的强大验证功能, 大多数Django API 框架都是用forms作为其验证的一部分.虽然django forms的学习需要花费一点时间, 但如果...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网