django如何访问网站(2023年最新整理)

请分析下,django如何访问网站(2023年最新整理)
最新回答
短发过夏

2024-11-02 06:22:07

导读:本篇文章首席CTO笔记来给大家介绍有关django如何访问网站的相关内容,希望对大家有所帮助,一起来看看吧。

django框架可以打开默认端口号打不开网页

1.打开cmd,输入pinglocalhost,查看是否正常。2.进入控制面板--系统和安全--防火墙,最简单的方法是选择恢复默认值。3.若第二步后仍无法打开页面,同时是使用pycharm编译器编译的,查看“运行应用通过Windows防火墙”这一项里面有没有pycharm,没有的话添加进去。4.若仍然不行,关闭防火墙,看能否打开页面,可以的话,再打开防火墙。

如何独立使用django的数据库访问功能

1.安装Django

[plain]viewplaincopy

cdDjango-1.4

pythonsetup.pyinstall

2.安装postgresql的客户端:

[plain]viewplaincopy

sudoapt-getinstall-ypostgresql-client-9.1python-psycopg2

3.新建project:

[plain]viewplaincopy

django-admin.pystartprojectmyproject

4.在myproject下新建app:

[plain]viewplaincopy

pythonmanage.pystartappmyapp

4.新增环境变量:

编辑/etc/profile文件,在末尾加入以下语句:

[plain]viewplaincopy

spanstyle="color:#FF0000;"exportPYTHONPATH=$PYTHONPATH:/home/yc/src/myproject

exportDJANGO_SETTINGS_MODULE=myproject.settings/span

5.

假设数据库已经由Django的另一个应用(名称为otherapp)建好,数据库类型是postgresql,名称为mydb,位于

192.168.1.23。见好的数据库中有一个表,名称是otherapp_user,则将otherapp/models.py拷贝到myapp

/models.py。

注意检查models.py下的classuser类的classMeta:部分,如果没有applabel标签,则要加上:app_label='otherapp'

再修改/home/yc/src/myproject下的settings.py文件,如下:

[plain]viewplaincopy

DATABASES={

'default':{

'ENGINE':'django.db.backends.postgresql_psycopg2',#Add'postgresql_psycopg2','mysql','sqlite3'or'oracle'.

'NAME':'mydb',#'vps2db_test1'Orpathtodatabasefileifusingsqlite3.

'USER':'postgres',#Notusedwithsqlite3.

'PASSWORD':'123',#Notusedwithsqlite3.

'HOST':'192.168.1.23',#Settoemptystringforlocalhost.Notusedwithsqlite3.

'PORT':'5432',#Settoemptystringfordefault.Notusedwithsqlite3.

}

}

[plain]viewplaincopy

INSTALLED_APPS=(

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.sites',

'django.contrib.messages',

'django.contrib.staticfiles',

'spanstyle="color:#FF0000;"myapp/span',

)

6.在myapp目录下编写测试程序

[python]viewplaincopy

frommodelsimportuser

if__name__=="__main__":

try:

u=user.objects.get(id=user_id)

exceptuser.DoesNotExist:

print"usernotexist)

returnNone

else:

returnu

如何在手机上打开django网页

settings.py

MIDDLEWARE_CLASSES?=?(

????'django.middleware.common.CommonMiddleware',

????'django.contrib.sessions.middleware.SessionMiddleware',

????'django.middleware.csrf.CsrfViewMiddleware',

????'django.contrib.auth.middleware.AuthenticationMiddleware',

????'django.contrib.messages.middleware.MessageMiddleware',

)

INSTALLED_APPS?=?(

????'django.contrib.auth',

????'django.contrib.contenttypes',

????'django.contrib.sessions',

????'django.contrib.sites',

????'django.contrib.messages',

????'django.contrib.admin',

????'django.contrib.staticfiles',

)

urls.py

from?django.conf.urls.defaults?import?*

from?django.contrib?import?admin

from?django.conf?import?settings

admin.autodiscover()

urlpatterns?=?patterns('',

????url(r'^admin/',?include(admin.site.urls)),

)

if?settings.DEBUG:

????urlpatterns?=?patterns('',

????????url(r'^media/(?Ppath.*)$',?'django.views.static.serve',

????????{'document_root':?settings.MEDIA_ROOT,?'show_indexes':?True}),

????????url(r'',?include('django.contrib.staticfiles.urls')),

????)?+?urlpatterns

django写的网页我想让别人也能够访问,应该怎么配置地址呢,现在只有连上和我一样的局域网的电脑才能访问

你这个问题应该是没有做过,你现在做的部分叫做服务器。

如果要别人通过ip来访问你的服务器,需要购买一个公网IP,这个是真正的IP地址,局域网那个是内部的。购买的话,途径有去供应商,比如电信公司网页去找,或者用阿里云服务器,自送一个IP。

在拥有公网IP的情况下,需要购买域名,即这个,购买后在相关网页上把公网ip和域名填写在一起,就绑定了,别人就能通过域名访问了。

这个很重要,在中国,域名是必须要去通管局注册登记的,不然会被封掉。。。

django怎样开发一个可以外网用的网站

了解Python语法和基础

学习Django框架使用

试着用django做个简单例子(博客,论坛等)

申请服务器和域名

在服务器上搭建环境和拷贝自己的代码

在服务器运行后,打开浏览器敲域名即可访问该网站

如何创建一个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时,输出的结果是[