django无法使静态CSS在模板base.html中工作

问题描述 投票:0回答:1

我正在尝试设置站点范围的CSS文件。

如果我直接将其放置在块内容中,我的css将呈现

cat register/templates/register/register.html        
{% extends "base.html" %}

{% block title %}Create an Account{% endblock %}


{% load crispy_forms_tags %}

{% block content %}

<style>
.registration_base {
        padding-top: 50px;
        margin: auto;
        width: 30%;
}
</style>

<div class="registration_base">

        <form method="POST" class="form-group">
                {% csrf_token %}
                {{ form|crispy }}
                <button type="submit" class="btn btn-success">Register</button>
        </form>
</div>
{% endblock %}

它可以正常运行,但我希望从base.html文件中整个站点的style.css文件中调用该代码。

我无法获得css文件进行实际渲染。

在我的

templates/base.html

我有

<head>
        <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}style.css">
</head>

我的

register/static/style.css

我具有相同的CSS代码:

.registration_base {
        padding-top: 50px;
        margin: auto;
        width: 30%;
}

我可以跑步

#python3 manage.py findstatic style.css
Found 'style.css' here:
  /home/user/www/src/register/static/style.css

它找到了,但是我的CSS格式从未改变。

我已将应用安装在

site/settings.py


INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'pages',
        'register.apps.RegisterConfig',
        'crispy_forms',
]

更新后的settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

更新的nginx /启用站点/站点静态信息。

server{
        location /static {
                alias /home/user/www/src/exchange/static; # your Django project's static files - amend as required
        }
    }

如何正确获得站点范围的CSS文件?

更新:

#cat register/forms.py

from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User    

class RegisterForm(UserCreationForm):
        email = forms.EmailField()

        class Meta:
                model = User
                fields = ["username", "password1", "password2", "email"]

#cat register/views.py        
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from .forms import RegisterForm

# Create your views here.
def register(response):
        if response.method == "POST":
                form = RegisterForm(response.POST)
                if form.is_valid():
                        form.save()

                return redirect("/")
        else:
                form = RegisterForm()

        form = RegisterForm()
        return render(response, "register/register.html",{"form":form})
css django django-templates
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.