网站内容与功能设计(创建后的app过多导致的问题及解决(图))

优采云 发布时间: 2021-11-11 23:15

  网站内容与功能设计(创建后的app过多导致的问题及解决(图))

  项目目录结构自动生成的目录

  项目创建完成后,django 会自动生成一些必要的目录和文件。正确条件下的目录结构应如下所示:

  

  如果不是这样的结构,可能的情况是:django版本错误或者这不是django项目。

  其中一些文件和目录的功能如下:

  创建一个额外的目录来创建一个应用程序

  Django只是一个web框架,它的功能都是通过app实现的,所以我们需要创建一个应用目录来存放我们的应用。

  单击菜单栏“工具”->“运行 manage.py 任务”以创建应用程序。这时候下面会出现一个django命令行。例如,如果我们创建一个名为 message 的应用程序,我们可以输入命令:

  startapp message

  

  创建完成后,在左边的目录结构中,可以看到出现了名为message的app,与我们的项目目录在同一层级:

  

  创建静态目录

  创建静态目录,存放静态文件:js、css、图片等。

  创建日志目录

  创建一个日志目录来存储日志文件到网站。

  创建媒体目录

  创建一个媒体目录来存放用户上传的资源文件。

  创建后的情况

  

  应用过多导致的问题及解决方法

  随着越来越多的应用随着项目的推进,我们的项目目录下有越来越多的带有应用名称的文件夹,这很复杂。解决方法如下:

  新建目录apps,拖拽app(消息进入apps目录),自动生成__init__.py文件,说明这是一个可以导入的包。

  

  这样就可以通过如下代码导入消息的views.py文件:

  from apps.messages import views

  运行时警告

  运行时,您将看到以下警告:

  

  这意味着不初始化数据库模型,使用以下命令初始化可移植性:

  python manage.py migrate

  暂时不做对你没有影响,以后用完数据库也不会晚。

  留言板页面配置功能分析

  留言板应具备以下功能:

  代码

  message_form.html

  

.smart-green {

margin-left: auto;

margin-right: auto;

max-width: 500px;

background: #F8F8F8;

padding: 30px 30px 20px 30px;

font: 12px Arial, Helvetica, sans-serif;

color: #666;

border-radius: 5px;

-webkit-border-radius: 5px;

-moz-border-radius: 5px;

}

.smart-green h1 {

font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;

padding: 20px 0px 20px 40px;

display: block;

margin: -30px -30px 10px -30px;

color: #FFF;

background: #9D*敏*感*词*5F;

text-shadow: 1px 1px 1px #949494;

border-radius: 5px 5px 0px 0px;

-webkit-border-radius: 5px 5px 0px 0px;

-moz-border-radius: 5px 5px 0px 0px;

border-bottom: 1px solid #89AF4C;

}

.smart-green h1 > span {

display: block;

font-size: 11px;

color: #FFF;

}

.smart-green label {

display: block;

margin: 0px 0px 5px;

}

.smart-green label > span {

float: left;

margin-top: 10px;

color: #5E5E5E;

}

.smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {

color: #555;

height: 30px;

line-height: 15px;

width: 100%;

padding: 0px 0px 0px 10px;

margin-top: 2px;

border: 1px solid #E5E5E5;

background: #FBFBFB;

outline: 0;

-webkit-box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);

box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);

font: normal 14px/14px Arial, Helvetica, sans-serif;

}

.smart-green textarea {

height: 100px;

padding-top: 10px;

}

.smart-green .button {

background-color: #9D*敏*感*词*5F;

border-radius: 5px;

-webkit-border-radius: 5px;

-moz-border-border-radius: 5px;

border: none;

padding: 10px 25px 10px 25px;

color: #FFF;

text-shadow: 1px 1px 1px #949494;

}

.smart-green .button:hover {

background-color: #80A24A;

}

.error-msg{

color: red;

margin-top: 10px;

}

.success-msg{

color: #80A24A;

margin-top: 10px;

margin-bottom: 10px;

}

留言信息

请留下你的信息.

姓名 :

邮箱 :

联系地址 :

留言 :

 

  阐明

  上面是一个html页面,里面收录了css和js的内容,保存在模板中,效果如下:

  

  分离 css、js 和 html

  目前html是和css和js一起写的,不符合一般的项目规范,所以需要将css、js和html代码分开。

  首先在static目录下创建css和js目录,然后在css目录下创建style.css样式表文件,将message_form.html中的css部分(中间部分)复制到style.css中。复制进去后,删除第一部分

  django连接数据库设置django连接mysql

  在django中,默认是连接到自己的sqlite3。我们需要修改setting.py来配置连接到我们自己的mysql。原配置如下:

  DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

}

}

  需要修改成如下形式:

  DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'testdjangoz',

'USER': 'root',

'PASSWORD': 'redhat',

'HOST': '127.0.0.1'

}

}

  NAME填写需要连接的库名,依次填写用户名和密码。为了不影响后续工作,建议先删除之前的测试表。此外,您还需要安装 MySQLdb 模块。

  然后点击“工具”->“运行manage.py Tast”,显示成功如下:

  

  生成系统默认数据表

  然后在上面显示的命令行中使用以下命令生成表:

  makemigrations

migrate

  

  然后去Navicat可以看到生成了很多django系统默认的内置数据表:

  

  完成后点击运行我们的项目,在浏览器中访问我们的项目。如果出现以下情况,则属正常:

  

  显示消息页面配置 urls.py 文件

  前面说过,urls.py文件是路由访问的入口点,所以如果要显示消息页面,必须在这里添加消息页面的url。配置如下:

  urlpatterns = [

url(r'^admin/', admin.site.urls), url(r'^form/$', getform)

]

  这里增加了 url(r'^form/$', getform) 段,意思是只要匹配到以form开头,以/结尾的URL,就会交给getform进行处理。

  配置views.py文件

  views.py文件是定义view函数的地方,相当于前端页面后面的逻辑部分。上一个表单页面的视图函数是getform,所以在views.py中创建相应的函数。添加以下代码部分:

  我们在app消息中的views.py中创建视图函数

  from django.http import request

def getform(request):

return render(request, 'message_form.html')

  另外需要在urls.py中添加一行代码来导入视图函数:

  from apps.message.views import getform

  现在再访问django项目,会出现如下情况,你会发现set的css不见了:

  

  在 setting.py 中设置静态文件

  在setting.py中,我们只设置了静态文件的存储位置:

  STATIC_URL = '/static/'

  您需要添加以下代码来指定搜索路径:

  STATICFILES_DIRS = [

os.path.join(BASE_DIR, 'DjangoTestProject/static')

]

  现在在浏览器中访问时,可以看到加载了css样式的html页面。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线