django如何创建html(2023年最新解答)

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

导读:今天首席CTO笔记来给各位分享关于django如何创建html的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

如何写第一个属于自己的Web页面(Django)

????????上期(超实用搭建个人开发Web网页的软件及配置基础)已经详细的介绍了基于Django+MySQL+PyCharm组合配置的Web开发的基础架构。这期带读者跟着作者写第一个属于自己的Web页面,同时跟作者同一个局域网的其它用户也可以访问。

首先输入pythonmanage.pystartappmyFamilyWeb(表示创建一个自己的Web页面项目),如图1。

生成的myFamilyWeb里的目录结构里的含义如下:

外层的_init_.py文件标识myFamilyWeb是一个Python包。

admin.py用于将Model定义注册到管理后台,是DjangoAdmin应用的配置文件。

apps.py用于应用程序本身的配置。

migrations目录用于存储models.py文件中Model的定义及修改。

migrations/_init_.py文件标识migrations是一个Python包。

models.py用于定义应用中所需要的数据表。

tests.py文件用于编写当前应用程序的单元测试。

views.py文件用于编写应用程序的视图。

以上的介绍都是myFamilyWeb应用的全部内容,后续需要做的就是填充对应的service逻辑对外提供服务。如果就这么启动,就会发现如图2一样访问不了。

想要实现访问自己第一个Web页面(myFamilyWeb),第一步是设置路由和在views.py增加一个可以访问的函数(图3-图6)。

配置模板和html(图7-图13)

配置写好了第一个最简单的Web页面,启动服务器。。。(图14)

在开发者电脑上的浏览器访问(图15)

(配置防火墙端口)(图16)

设置允许多个主机访问(图17)

在终端输入ipconfig

回车找到IPv4的地址:192.168.0.102(图18)

pythonmanage.pyrunserver0.0.0.0:8000(这次启动的时候在后面添加0.0.0.0:8000)。

然后本地网络中的其它计算机就可以在浏览器中访问你的IP地址了,(这个网址只能同一个局域网的主机可以访问)

之后就是好好去学习如何写html文件了。。。

django怎么实现index.html

django模版变量是属于后台服务器端的,而Js是前台的,没法给它们赋值。你应该在服务器段就赋值,然后传给前端页面,render_to_response这个函数是可以添加模版变量的,到时候直接在页面上使用就可以了,具体你可以查查render_to_response这个函数的用法

如何创建一个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.

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_dateisin


如何建立django项目(python创建django项目)
导读:今天首席CTO笔记来给各位分享关于如何建立django项目的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!Windows10使用IIS部署Django项目相对于linux系统来说,Windows10下进行django项目部署要简单许多,假设已搭建python环境,以及django项目已进行静态资源的收集(执行了pythonmanage....

【django 基础】安装 | 创建 | 启动
在Django开发中,首先需要安装并配置基本环境。安装Django可通过pip命令进行,`pip install django`。安装完成后,开始创建一个新的项目。项目的结构通常包含以下组件:管理器文件 manage.py:项目的核心管理工具,用于启动项目、创建应用和数据管理。主项目目录,如`HelloWorld`,包含子目录:__init__.py:...

Django如何创建用户登录注册(django用户注册)
本篇文章首席CTO笔记来给大家介绍有关Django如何创建用户登录注册以及django用户注册的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、关于Django网站,用户注册的问题2、django1.9.5怎么建立超级用户?3、Django--快速实现用户登录4、django怎么建立sqlite3的用户名和密码??5、如何使用...

django项目如何创建数据库(2023年最新解答)
导读:很多朋友问到关于django项目如何创建数据库的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!django怎么创建mysql数据库Model是django项目的基础,如果一开始没有好好设计好,那么在接下来的开发过程中就会遇到更多的问题.然而,大多数的开发人员都容易...

如何创建django实例(django开发教程)
导读:本篇文章首席CTO笔记来给大家介绍有关如何创建django实例的相关内容,希望对大家有所帮助,一起来看看吧。如何在阿里云上部署django 前提条件 1.为Python应用程序安装virtualenv和virtualenvwrapper,目的在于为Python项目创建独立的环境。 ●安装pip sudoapt-getinstallpython-pip ●安装virtualenv sudopipinstallvirtualenv ...

django怎么创建超级用户(django创建超级用户进不了auth_user表)_百度...
Django创建超级管理员摘要:进入项目路径:pythonmanage.pycreatesuperuser按照提示输入相应的用户名,邮箱和密码即可 进入项目路径:pythonmanage.pycreatesuperuser?按照提示输入相应的用户名,邮箱和密码即可 以上是Django创建超级管理员的内容。Django1.74版本取消syncdb后,请问怎么创建admin账号1利用"Administrator"...

django如何创建app(2023年最新解答)
导读:本篇文章首席CTO笔记来给大家介绍有关django如何创建app的相关内容,希望对大家有所帮助,一起来看看吧。django一个项目多个App项目搭建django可以在一个项目中存在多个app,如一个大门户网站中可以包含论坛,新闻等内容,其中每一个模块称之为一个App,也可以理解为一个个独立的小型项目最终集成在一...

django怎么创建数据库表(django向数据库写入数据)
本篇文章首席CTO笔记来给大家介绍有关django怎么创建数据库表以及django向数据库写入数据的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、python编程--django框架,想要添加一个表进到数据库里2、Django里面怎么实现数据库视图啊就是虚拟表3、django使用已有的数据库表怎么建立model4、Django...

首先创建Django项目以及创建app(认识各个默认文件的作用)
Django项目启动前,首要任务是设置和注册app。在Django主目录下,你需要执行app的注册,这可以通过在终端中运行相关命令来完成。app注册涉及对DATABASES变量的设置,以及在settings.py中导入视图函数,如`from login1.views import login1`。对于多app的情况,包导入机制已经解决了引入和组织代码的问题。在...

『Django』创建app(应用程序)
在Django开发中,理解并创建app(应用程序)是基础且至关重要的。应用程序是独立的模块,用于实现特定功能,如博客和用户管理。通过组织代码和提高可重用性,它们支持项目的模块化和维护。要创建一个新的app,使用命令`python manage.py startapp [app_name]`,如blog。这会在项目中生成一个对应的目录。

武进区13592123699: 请问用python+Django如何显示图片呢?如何显示一个纯静态的HTMl?急 -
桑供能全: 要显示图片、CSS、JS之类的静态文件,需要在settings里配置静态文件目录,就是MEDIA_ROOT,MEIDA_URL,STATIC_ROOT和STATIC_URL,比如media/,static/.其实Django本身是不进行静态文件处理的,静态文件是交给Web服务器,如...

武进区13592123699: 如何用python搭建一个最简单的Web服务器 -
桑供能全: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令:python -m Web服务器模块 [端口号,默认8000] 例如:python -m SimpleHTTPServer 8080 然后就可以...

武进区13592123699: django中的html如何生成一个整数序列?如何进行数字和字符的转换? -
桑供能全: xrange(1,13)不行,你就给个rang(13)嘛 apChannel 不知道怎么来的,如果返回值是str,报错就是因为你返回的不是数字的字符串,可以用isdigit()先判断下.

武进区13592123699: 鸡肉加什么煮汤 -
桑供能全: 我认为做为熬汤而言鸡脯肉确实很好搭,它能够和许多的类型一起配搭,好像普遍的有香菇老母鸡汤、鸡脯肉海参汤、艾梗老老母鸡汤、鲍鱼鸡汤、栗子红枣鸡汤、香菇鸡汤、当归鸡汤,听起来就要人淌口水,觉得都吃剩.由于鸡肉煲汤的类型...

武进区13592123699: 如何用Python做Web开发 -
桑供能全: 看看Django或者Tornado的教程就好 Django的框架模块集成较多可以用快速上手一些复杂Web应用的开发.https://www.djangoproject.com/ Tornado框架简单明了,便于高度自定义的Web应用开发.http://www.tornadoweb.org/en/stable/

武进区13592123699: django里面ManyToMany数据怎么在html里显示 -
桑供能全: 在创建一个新的的时候p1=Post.objects.create(title=title,content=content,pub_date=pub_date,author=author)p1.label.add(p)这里是没问题的其中label是ManyToMany 字段然后更新的时候p1=Post.objects.filter(id=num).update(title=title,conte.

武进区13592123699: 如何正确使用 Django Forms -
桑供能全: 1. Django Forms的强大之处有些django项目并不直接呈现HTML, 二是以API框架的形式存在, 但你可能没有想到, 在这些API形式的django项目中也用到了django forms. django forms不仅仅是用来呈现HTML的, 他们最强的地方应该是他们的...

武进区13592123699: Django 怎么做静态化页面? -
桑供能全: 如果网站的流量过大,每次访问时都动态生成,执行SQL语句,消耗大量服务器资源,这时候可以考虑生成静态页面.生成静态很简单,下面是一个例子:只要在views.py中这样写就行了 from django.shortcuts import render from django.template....

武进区13592123699: django 怎么在modelform中添加自定义字段 -
桑供能全: Django的表单验证框架可以从数据模型自动生成HTML表单,还可在与数据存储区交互的同时无缝处理通过表单输入的信息.要在Google App Engine上使用Django Forms,参考这篇文章在使用过程中会遇到一个问题,比如你在定义一个数据模型Book

武进区13592123699: Django1.8中应该怎么配置js静态资源 -
桑供能全: 1、先在你的app文件中新建一个文件夹static,再分别建立三个子文件夹js,style,images. 2、在settings.py中,加入: STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), ) 3、在html页面头部加入: {% load ...

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