我正在尝试设置站点范围的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})