GVKun编程网logo

我应该使用Django项目将静态文件提交到Git存储库中吗?(django 静态文件)

15

如果您想了解我应该使用Django项目将静态文件提交到Git存储库中吗?和django静态文件的知识,那么本篇文章将是您的不二之选。我们将深入剖析我应该使用Django项目将静态文件提交到Git存储库

如果您想了解我应该使用Django项目将静态文件提交到Git存储库中吗?django 静态文件的知识,那么本篇文章将是您的不二之选。我们将深入剖析我应该使用Django项目将静态文件提交到Git存储库中吗?的各个方面,并为您解答django 静态文件的疑在这篇文章中,我们将为您介绍我应该使用Django项目将静态文件提交到Git存储库中吗?的相关知识,同时也会详细的解释django 静态文件的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

我应该使用Django项目将静态文件提交到Git存储库中吗?(django 静态文件)

我应该使用Django项目将静态文件提交到Git存储库中吗?(django 静态文件)

是的,通常我们会提交静态文件。

命令collectstatic仅将静态文件从单个应用程序文件夹复制到一个常规文件夹(通常仅在PROD服务器中使用)。

但是静态文件应该已经存在(并已提交)在单个应用程序文件夹中,以便每个开发PC以及PROD服务器都具有相同的静态文件。

Apache服务器不能findDjango项目中的静态文件

Apache服务器不能findDjango项目中的静态文件

我正尝试使用mod_python将我的代码上传到apache服务器上。 我已经尝试了很多,但服务器无法访问我的静态文件(所有我的图像,JS和CSS)。 这是我的虚拟主机设置:

<VirtualHost *:80> ServerName mysite.com ServerAlias www.mysite.com Alias /static/ /home/mysite/products/static/ # RewriteEngine on RewriteCond %{HTTP_HOST} ^www.mysite.com RewriteRule (.*) http://mysite.com$1 [R=301,L] # DocumentRoot /home <Directory /home/mysite/> SetHandler mod_python PythonHandler mod_python.publisher PythonDebug On </Directory> <Directory /> Options FollowSymLinks AllowOverride None </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug,info,notice,warn,error,crit,# alert,emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost>

我的访问日志:

"GET /giftproducts/static/js/top.js HTTP/1.1" 404 1487 "http://xxx.xxx.xx.xxx/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/537.31 (KHTML,like Gecko) Chrome/26.0.1410.65 Safari/537.31" xxx.xxx.xx.xxx - - [23/Apr/2013:15:09:52 -0500] "GET /giftproducts/static/css/index.css HTTP/1.1" 404 1486 "http://xxx.xxx.xx.xxx/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/537.31 (KHTML,like Gecko) Chrome/26.0.1410.65 Safari/537.31"

(404页未find,为什么!?)

settings.py:

为apache安装mod_wsgi模块

客户端浏览器closures时中断服务器端perl CGI脚本

使用apache和windows为Backbone.js设置一个RESTful服务

replaceApache POI XWPF中的文本不起作用

http-equiv =“X-UA-Compatible”content =“IE = edge,chrome = 1”…把这个放在.htaccess中?

import os import sys path = os.path.abspath(os.path.join(os.path.dirname(__file__))) MEDIA_ROOT = path + ''/products/media/'' MEDIA_URL = ''/media/'' PROJECT_ROOT = path STATIC_ROOT = path + ''/products/static/'' STATIC_URL = ''/products/static/'' STATICFILES_Dirs = ( path,) STATICFILES_FINDERS = ( ''django.contrib.staticfiles.finders.FileSystemFinder'',''django.contrib.staticfiles.finders.AppDirectoriesFinder'',# ''django.contrib.staticfiles.finders.DefaultStorageFinder'',) TEMPLATE_Dirs = ( path + ''/products/templates'',) #this works,since it is loading the html

尝试给像“/静态/ X”和“{{STATIC_URL}} X”的path,但没有任何工作。

任何帮助,这将是伟大的。 谢谢。

更新:除了下面的Glynbuild议,我将这些行添加到我的urls.py,然后它的工作。

if settings.DEBUG: urlpatterns += patterns('''',(r''^static/(?P<path>.*)$'',''django.views.static.serve'',{''document_root'': settings.STATIC_ROOT}),)

为客户端下载dynamic创build大型zip文件

负载平衡集群不能与Apache HTTP Server 2.4.6和JBoss EAP 7一起使用

apache suexec“命令不在docroot”

Django + Apache + mod_wsgi权限被拒绝

如何使用授权头进行GET CORS请求

1)你有没有在你的虚拟主机上正确地设置你的静态文件? 我没有看到他们…

Alias /media/ /products/static Alias /static/ /products/static <Directory /products/static> Order allow,deny Allow from all </Directory>

2)在你的模板中总是使用 {{ STATIC_URL }}来检索静态文件,这是最好的做法。

3)添加django.contrib.staticfiles并运行collectstatic 管理命令

总结

以上是小编为你收集整理的Apache服务器不能findDjango项目中的静态文件全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

django – Git – 如何将本地存储库提交到另一个本地存储库的子文件夹?

django – Git – 如何将本地存储库提交到另一个本地存储库的子文件夹?

我有一个我刚刚开始的Django项目,我在bitbucket上主持它.现在我需要在openshift中托管它,并且这样做的方法是它们为您提供了一个git存储库,并且每次推送它们都会自动部署.问题是存储库附带了几个用于配置和设置的顶级文件夹,而有效的 django项目必须位于名为wsig / openshift的子文件夹中.

我的问题是,如何将我的本地django存储库中的更改提交到本地openshift存储库的wsig / openshift子文件夹?因为我打算继续在bitbucket /本地存储库上开发

解决方法

您可能正在寻找 submodules.来自文档:

Submodules allow foreign repositories to be embedded within a
dedicated subdirectory of the source tree,always pointed at a
particular commit.

因此,您可以通过运行将bitbucket存储库作为嵌入在openshift存储库的子文件夹中的单独存储库

git submodule add path_to_bitbucket folder/in/openshift

在openshift存储库中.

你将不得不运行一个occaisonal git子模块更新来保持openshift最新,但你可能已经预料到了那种额外的工作.

django – 在部署时将静态文件复制到卷?

django – 在部署时将静态文件复制到卷?

如何确保在部署期间创建的最新静态文件
一个Django应用程序被复制到卷?我的Web容器定义了一个Django应用程序,在构建时运行python manage.py collectstatic –noinput –clear.这会将所有静态文件移动到/usr/src / app / static_files目录中.我希望这些静态文件在静态数据卷中可用,以便Nginx可以为它们提供服务.换句话说,/usr/src / app / static_files的内容应该覆盖staticdata卷中现有文件的内容.否则,Nginx将继续提供较旧的文件副本,如css文件和图像,而不是Django收集的更新文件.

这可能吗?感觉就像我为此目的使用了错误的卷,因为它们的目的是持久化数据.

Edit1:在部署应用程序时是否有可能创建“临时卷”,在取消部署应用程序时会被销毁?如果是这样,我该怎么做,以及如何使这个卷也可用于Nginx?

编辑2:如果我没有弄错,一个选项是使用绑定挂载,但我已经读过,如果可能的话应该避免这些应用程序不依赖于主机文件系统的结构.

version: '3.3'

services:
  web:
    restart: always
    build: ./web
    env_file:
    - web-variables.env
    expose:
      - "8000"
    ports:
      - "8000:8000"
    volumes:
      - staticdata:/usr/src/app/static_files
      - staticdata:/usr/src/app/uploaded_files
    command: "./django-entrypoint.sh"
    depends_on:
      - database

  Nginx:
    restart: always
    build: ./Nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - staticdata:/data/www
    depends_on:
      - web

  database:
    image: postgres:9.2
    restart: always
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"

volumes:
  staticdata:
  pgdata:
最佳答案
是的,这是可能的 – 你几乎就在那里.通过将选项–clear传递给collectstatic,它将在收集静态文件之前清除目录.那不是你想要的行为.只需运行它没有那个标志:

python manage.py collectstatic --noinput

它应该只复制到目的地不存在的较新的静态文件.

展望未来,您可能需要考虑为静态文件和媒体文件(用户生成的内容)设置单独的容器,因为事情可能会让人感到困惑,否则如此处所示:)

django中云存储静态文件

django中云存储静态文件

Django自带文件存储系统存储在本地文件夹,如果我们将文件存储在云端,需要自定义文件存储系统。

自定义文件存储系统需要继承django.core.files.storage.Storage

from django.core.files.storage import Storage

class QiNiuStorage(Storage):

添加deconstructible装饰器以允许在迁移数据库时进行迁移

from django.utils.deconstruct import deconstructible

@deconstructible
class QiNiuStorage(Storage):

在配置文件中增加

# 七牛云存储图片文件
QINIU_ACCESS_KEY = "你的云平台秘钥"
QINIU_SECRET_KEY = "你的云平台私钥"
QINIU_BUCKET_NAME = "云平台空间名"
QINIU_BUCKET_DOMAIN = "http://云存储空间域名/"  # 需要将域名拼接成完整的路径
DEFAULT_FILE_STORAGE = "云存储工具类路径"

重写django保存文件的默认方法,url方法返回文件完整路径,存储在数据库中

from django.conf import settings
from qiniu import Auth, put_data
@deconstructible
class QiNiuStorage(Storage): def _open(self, name, model=''rb''): """不用打开,代码省略""" pass def _save(self, name, content):
    # content文件内容
if name is None: name = content.name try: q = Auth(settings.QINIU_ACCESS_KEY, settings.QINIU_SECRET_KEY) token = q.upload_token(settings.QINIU_BUCKET_NAME)
       # ret[''key'']存储文件名 ret, info
= put_data(token, None, content.read()) print(ret, info) except Exception as e: raise e if info.status_code != 200: raise Exception("上传图片失败") return settings.QINIU_BUCKET_DOMAIN + ret[''key''] def url(self, name): return name def exists(self, name): """七牛云自动解决文件重名问题""" return False

 Django中设置字段类型

logo = models.FileField(max_length=64, verbose_name="企业logo")

今天关于我应该使用Django项目将静态文件提交到Git存储库中吗?django 静态文件的分享就到这里,希望大家有所收获,若想了解更多关于Apache服务器不能findDjango项目中的静态文件、django – Git – 如何将本地存储库提交到另一个本地存储库的子文件夹?、django – 在部署时将静态文件复制到卷?、django中云存储静态文件等相关知识,可以在本站进行查询。

本文标签: