028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

如何在Django中创建APP-创新互联

这篇文章给大家分享的是有关如何在Django中创建APP的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都做网站、网站制作服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。

1.Django中创建APP

首先我们打开PyCharm,找到之前你创建的Django项目,我的项目是First_Project

如何在Django中创建APP

如何在Django中创建APP

如何在Django中创建APP

# 目的就是在django的sys.path模块搜索路径中的第一个位置加上apps的路径
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'));
os.environ.setdefault"DJANGO_SETTINGS_MODULE", "First_Project.settings")
django.setup()

2.Django中创建static静态文件目录

配置static静态文件查找路径:

1.首先打开settings文件,找到STATIC_URL = '/static/',这表示指定static静态文件路径

2.但是在template中是无法使用这个路径的,因为没有把这个路径加入到项目的路径中,因此需要把static路径加入到项目的路径中我们需要添加一句代码:

# 表示把static路径加入到项目的路径中
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), )

3.这样在template中引用这个静态文件就可以只要指定相对路径就好了

3.Django中创建media媒体文件目录

配置media媒体文件查找路径:

1.在settings文件中加入MEDIA_ROOT = os.path.join(BASE_DIR, 'media')语句,表示把用户上传的所有的东西,如图片等,保存到这个/media/目录下

2.如果我们想要图片上传到/media/banner/%Y/%m/目录下(Y表示年,m表示月),我们可以这样写

image = models.ImageField(max_length=100, upload_to='banner/%Y/%m', verbose_name='用户头像图片')

3.那么在前端的html页面中,我们就可以使用用户上传的图片或其他的可以在html页面显示的东西, 因为数据库中保存了图片上传的路径,{{ MEDIA_URL }}相当于 /media/{{ request.user.image }}相当于 user/1.png,那么 {{ MEDIA_URL }}{{ request.user.image }} 相当于 /media/user/1.png

4.因此必须在urls.py文件中写个路由处理逻辑

from django.views.static import serve
url(r'^media/(?P.*)', serve, {'document_root': MEDIA_ROOT})

我们要注意每次创建一个app都需要在settings中将它注册进来,如果不注册进来,那么执行migration的时候就不会生成表,将app的名称加入到INSTALLED_APPS中;

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users',
    'courses',
    'teachers',
    'schools',
]

感谢各位的阅读!关于“如何在Django中创建APP”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


本文题目:如何在Django中创建APP-创新互联
分享URL:http://www.tsicrk.com/article/dpoose.html

其他资讯

让你的专属顾问为你服务

0.9368s