Since you visited this page, I assume you want to know how co correctly configure this Django application. I will NOT tell you how to configure your webserver (apache, nginx, lighttpd, etc..) to handle requests and pass them to uwsgi proccesses, that is not my objective, there is a lot information on how to do that on the internet already, and maybe I'll make a tutorial how to install this application on debian server with Nginx, uwsgi and postgresql database.
Now I assume you correctly set up your Django settings.py so you can run the application. If not, visit Django project and look at beginner's tutorial, which will walk you through the basic settings.
For testing purposes, you can use the settings.py file that is included in this project but DO NOT USE IT IN PRODUCTION, that is on you and I will NOT be responsible for damage to your OS due to security risks when published your SECRET_KEY on the web.
For use on your production server, create new SECRET_KEY (either create new django project and copy from there or google for a generator).
I also assume you ran python manage.py syncdb and created a superuser account.
Install all dependencies by ececuting: # pip install -r DEPENDENCIES
One mor dependency that is not listed on the github is imagemagick, install it by executing: # apt-get install imagemagick (or yum, or pacman or whatever). Imagemagick is called when image is uploaded on server to resize it to fit 800x600px (because of Lightbox2 - when you have 3000x2000 px or more, it goes out of visible screen).
Custom settings.py specific to this project are: TEMPLATE_PATH, USE_TZ, FLAG_UPLOAD_DIR, ADMIN_MEDIA_PREFIX, POSTS_ON_PAGE
Now, when you navigate to your site (http://yoursite.com or http://localhost:8000 for local testing), you should see this:
This means there is no Site created in the database, so go to admin and create one. Make sure to create ONLY ONE!
Fields available: Domain, Display name, Tagline, Footer.
Here is explanation:
After creating exactly ONE site, you should see this:
Again, some data are missing from database. Go to admin and create one. Here you can create as many as you like.
Fields available: Language, Country code, Flag, Display as default, Active.
This does not need image, simply look on the image above and there you can see 2 languages with Icons (Flags).
Language field is how your language will be spelled on the webpage.
Country code is 2 or 3 letters specifiyng your country and is used to build URL (like http://mysite.com/en/ for english version).
Flag if you want to have nice icon (I recommend 64x64 px) you can upload it there, it can be empty.
Display as default, this field indicates which language should be the default language displayed when someone visits http://mysite.com without any parameters. There can be only ONE default language, and the admin logic will make sure it stays this way.
Active, this indicates if you want this language quickly activate/deactivate without the need to delete it. When you deactivate it, it will dissapear from the webpage.
After creating your Language, you'll see this:
This means there is no Page with Active and Index fields checked True. Active means exactly the same as it did in Language, when you want to disable a page, simply deactivate it. Index, that means that page will be index page for specified language (language for which its link is set).
To create a page, we must first create link to that page. Go to guess where, admin and create a Menu. Here, select a Language where this menu should be displayed (all links belonging to this menu), and fill in name - it will not be displayed anywhere but the admin, so anything.
After creating Menu, go here and create one menuitem. In the dropdown, select Menu you just made. Write some name in the MenuItem name field - this is what will be displayed on the page, so something smart (look at the first image). Url, here you can fill the url that points to this page - it should be SEO friendly, so something like this: my-article-where-i-write-about-cats.
Now we're ready to create the Page. Go here and create one.
Page title this will be displayed as Page's heading (look at the first picture - black Root text).
Link select the link you created a while ago.
Page content this is the text and images and all inside the page, you can use the editor as a Word.
Active you know what this does.
Index don't forget to check this as True, so this will be your Index page, and remember there can be ONLY ONE INDEX page per LANGUAGE!
If you followed these steps, you now see a nice page with all the data you filled in. This is all.
You should familiarize yourself with the ADMIN page, it may seem difficult at first, but once you create a few Pages, you'll do fine.
The Wysiwyg editor in Admin is JavaScript tool called CKEditor. More info can be found on the project site (google it). There are two modifications however. When you want to add a Image, click on image icon, and click on Browse server. Now in this window, you should be able to upload images to your /media/uploaded/ directory (application will try to resize automatically) and when you upload an image, select it, and it will fill that image path and link to the CKEditor.
The other customization is a Plugin that allows you to create a LightBox(ed) images. Click on a image. Click on the small magnifiing glass icon in the editor window, fill in the text you want to be displayed, and Save. Now that image will display an animation after clicking it.
On each Page can be infinite number of Posts, it can be viewed as a Blog, posts are sorted by their creation date (newest first). Creation date can be changed in Admin.
Post admin is pretty much the same as Page, but instead of Link there is a Page where it will be displayed. There are several more options, like Enable comments, Visible From-To. These I hope are self-explanatory.
Comments can be accesed from Admin, in Comments section, nothing strange here.
This is a SEO option, you don't need to fill it in for your website to work, but it is recommended.
It wors like this, you create MetaSet, which has only 2 fields, Language and Name. After this you can create MetaData. MetaData creates <meta> tags for you. For each MetaSet can be infinite MetaData, just select MetaSet and fill in meta name and content. Now go to Page on which you want a specific MetaSet displayed (can be different because of keywords on a page or language).
The Wysiwyg editor saves all incoming requests in the database, and is accesible from Admin. You can look at your own requests there.
If you want this enabled, go to Admin to Feed settings and add 1 Feed setting. Check Enabled, Fill in Site title (displayed in the feed), and Site description for the Feed, and Last Posts to show in the Feed.